10576 lines
342 KiB
JSON
10576 lines
342 KiB
JSON
openapi: 3.0.0
|
|
info:
|
|
version: 1.0.0
|
|
title: Medusa Storefront API
|
|
description: >
|
|
API reference for Medusa's Storefront endpoints. All endpoints are prefixed
|
|
with `/store`.
|
|
|
|
|
|
## Authentication
|
|
|
|
|
|
To send requests as an authenticated customer, you must use the Cookie
|
|
Session ID.
|
|
|
|
|
|
<!-- ReDoc-Inject: <SecurityDefinitions> -->
|
|
|
|
|
|
## Expanding Fields
|
|
|
|
|
|
In many endpoints you'll find an `expand` query parameter that can be passed
|
|
to the endpoint. You can use the `expand` query parameter to unpack an
|
|
entity's relations and return them in the response.
|
|
|
|
|
|
For example, when you list customers you can also retrieve their groups by
|
|
passing to the `expand` query parameter the value `groups`.
|
|
|
|
|
|
You can expand more than one relation by separating the relations in the
|
|
`expand` query parameter with a comma. For example, to retrieve both the
|
|
orders and the groups of a customer, pass to the `expand` query parameter
|
|
the value `groups,orders`.
|
|
|
|
|
|
Please note that the parameters you pass to `expand` replace any relations
|
|
that are expanded by default.
|
|
|
|
|
|
## Selecting Fields
|
|
|
|
|
|
In many endpoints you'll find a `fields` query parameter that can be passed
|
|
to the endpoint. You can use the `fields` query parameter to specify which
|
|
fields in the entity should be returned in the response.
|
|
|
|
|
|
You can pass more than one field by seperating the field names in the
|
|
`fields` query parameter with a comma.
|
|
|
|
|
|
Only the fields you pass to `field` will be retrieved and returned in the
|
|
response. Any fields that are returned by default will not be returned in
|
|
this case. This does not affect relations.
|
|
|
|
|
|
For example, to only select the `title` and `description` fields of a
|
|
product, pass to the `fields` query parameter the value `title,description`.
|
|
|
|
|
|
## Pagination
|
|
|
|
|
|
### Query Parameters
|
|
|
|
|
|
In listing endpoints, such as list customers or list products, you can
|
|
control the pagination using the query parameters `limit` and `offset`.
|
|
|
|
|
|
`limit` is used to specify the maximum number of items that can be return in
|
|
the response. `offset` is used to specify how many items to skip before
|
|
returning the resulting entities.
|
|
|
|
|
|
You can use the `offset` query parameter to change between pages. For
|
|
example, if the limit is 50, at page 1 the offset should be 0; at page 2 the
|
|
offset should be 50, and so on.
|
|
|
|
|
|
### Response Fields
|
|
|
|
|
|
In listing fields, aside from the entities retrieved, there are three
|
|
pagination-related fields returned: `count`, `limit`, and `offset`.
|
|
|
|
|
|
Similarly to the query parameters, `limit` is the maximum number of items
|
|
that can be returned in the response, and `field` is the number of items
|
|
that were skipped before the entities in the result.
|
|
|
|
|
|
`count` is the total number of available items of this entity. It can be
|
|
used to determine how many pages are there.
|
|
|
|
|
|
For example, if the `count` is 100 and the `limit` is 50, you can divide the
|
|
`count` by the `limit` to get the number of pages: `100/50 = 2 pages`.
|
|
license:
|
|
name: MIT
|
|
url: 'https://github.com/medusajs/medusa/blob/master/LICENSE'
|
|
tags:
|
|
- name: Auth
|
|
description: >-
|
|
Auth endpoints that allow authorization of customers and manages their
|
|
sessions.
|
|
- name: Cart
|
|
description: Cart endpoints that allow handling carts in Medusa.
|
|
- name: Collection
|
|
description: Collection endpoints that allow handling collections in Medusa.
|
|
- name: Customer
|
|
description: Customer endpoints that allow handling customers in Medusa.
|
|
- name: Gift Card
|
|
description: Gift Card endpoints that allow handling gift cards in Medusa.
|
|
- name: Order
|
|
description: Order endpoints that allow handling orders in Medusa.
|
|
- name: Product
|
|
description: Product endpoints that allow handling products in Medusa.
|
|
- name: Product Variant
|
|
description: Product Variant endpoints that allow handling product variants in Medusa.
|
|
- name: Region
|
|
description: Region endpoints that allow handling regions in Medusa.
|
|
- name: Return Reason
|
|
description: Return Reason endpoints that allow handling return reasons in Medusa.
|
|
- name: Return
|
|
description: Return endpoints that allow handling returns in Medusa.
|
|
- name: Shipping Option
|
|
description: Shipping Option endpoints that allow handling shipping options in Medusa.
|
|
- name: Swap
|
|
description: Swap endpoints that allow handling swaps in Medusa.
|
|
servers:
|
|
- url: 'https://api.medusa-commerce.com/store'
|
|
paths:
|
|
/auth:
|
|
post:
|
|
operationId: PostAuth
|
|
summary: Customer Login
|
|
description: >-
|
|
Logs a Customer in and authorizes them to view their details. Successful
|
|
authentication will set a session cookie in the Customer's browser.
|
|
parameters: []
|
|
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.auth.authenticate({
|
|
email: 'user@example.com',
|
|
password: 'user@example.com'
|
|
})
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: |
|
|
curl --location --request POST 'https://medusa-url.com/store/auth' \
|
|
--header 'Content-Type: application/json' \
|
|
--data-raw '{
|
|
"email": "user@example.com",
|
|
"password": "supersecret"
|
|
}'
|
|
tags:
|
|
- Auth
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'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'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- email
|
|
- password
|
|
properties:
|
|
email:
|
|
type: string
|
|
description: The Customer's email.
|
|
password:
|
|
type: string
|
|
description: The Customer's password.
|
|
delete:
|
|
operationId: DeleteAuth
|
|
summary: Customer Log out
|
|
description: Destroys a Customer's authenticated session.
|
|
x-authenticated: true
|
|
x-codeSamples:
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request DELETE 'https://medusa-url.com/store/auth'
|
|
\
|
|
|
|
--header 'Cookie: connect.sid={sid}'
|
|
security:
|
|
- cookie_auth: []
|
|
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'
|
|
get:
|
|
operationId: GetAuth
|
|
summary: Get Current Customer
|
|
description: Gets the currently logged in Customer.
|
|
x-authenticated: true
|
|
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
|
|
|
|
medusa.auth.getSession()
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: |
|
|
curl --location --request GET 'https://medusa-url.com/store/auth' \
|
|
--header 'Cookie: connect.sid={sid}'
|
|
security:
|
|
- cookie_auth: []
|
|
tags:
|
|
- Auth
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/auth/{email}':
|
|
get:
|
|
operationId: GetAuthEmail
|
|
summary: Check if email exists
|
|
description: Checks if a Customer with the given email has signed up.
|
|
parameters:
|
|
- in: path
|
|
name: email
|
|
schema:
|
|
type: string
|
|
format: email
|
|
required: true
|
|
description: The email to check if exists.
|
|
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.auth.exists('user@example.com')
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/auth/user@example.com' \
|
|
|
|
--header 'Cookie: connect.sid={sid}'
|
|
tags:
|
|
- Auth
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
exists:
|
|
type: boolean
|
|
description: Whether email exists or not.
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/carts/{id}/shipping-methods':
|
|
post:
|
|
operationId: PostCartsCartShippingMethod
|
|
description: Adds a Shipping Method to the Cart.
|
|
summary: Add a Shipping Method
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The cart ID.
|
|
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 })
|
|
|
|
medusa.carts.addShippingMethod(cart_id, {
|
|
option_id
|
|
})
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/shipping-methods' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"option_id": "{option_id}",
|
|
}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- option_id
|
|
properties:
|
|
option_id:
|
|
type: string
|
|
description: ID of the shipping option to create the method from
|
|
data:
|
|
type: object
|
|
description: >-
|
|
Used to hold any data that the shipping method may need to
|
|
process the fulfillment of the order. Look at the
|
|
documentation for your installed fulfillment providers to
|
|
find out what to send.
|
|
'/carts/{id}/taxes':
|
|
post:
|
|
summary: Calculate Cart Taxes
|
|
operationId: PostCartsCartTaxes
|
|
description: >-
|
|
Calculates taxes for a cart. Depending on the cart's region this may
|
|
involve making 3rd party API calls to a Tax Provider service.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The Cart ID.
|
|
schema:
|
|
type: string
|
|
x-codeSamples:
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/taxes'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/carts/{id}/complete':
|
|
post:
|
|
summary: Complete a Cart
|
|
operationId: PostCartsCartComplete
|
|
description: >-
|
|
Completes a cart. The following steps will be performed. Payment
|
|
authorization is attempted and if more work is required, we simply
|
|
return the cart for further updates. If payment is authorized and order
|
|
is not yet created, we make sure to do so. The completion of a cart can
|
|
be performed idempotently with a provided header `Idempotency-Key`. If
|
|
not provided, we will generate one for the request.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The Cart id.
|
|
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 })
|
|
|
|
medusa.carts.complete(cart_id)
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/complete'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: >-
|
|
If a cart was successfully authorized, but requires further action
|
|
from the user the response body will contain the cart with an
|
|
updated payment session. If the Cart was successfully completed the
|
|
response body will contain the newly created Order.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: The type of the data property.
|
|
enum:
|
|
- order
|
|
- cart
|
|
- swap
|
|
data:
|
|
type: object
|
|
description: >-
|
|
The data of the result object. Its type depends on the
|
|
type field.
|
|
oneOf:
|
|
- type: object
|
|
description: >-
|
|
Cart was successfully authorized and order was placed
|
|
successfully.
|
|
properties:
|
|
order:
|
|
$ref: '#/components/schemas/Order'
|
|
- type: object
|
|
description: >-
|
|
Cart was successfully authorized but requires further
|
|
actions.
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
- type: object
|
|
description: >-
|
|
When cart is used for a swap and it has been completed
|
|
successfully.
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Swap'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/carts:
|
|
post:
|
|
summary: Create a Cart
|
|
operationId: PostCart
|
|
description: >-
|
|
Creates a Cart within the given region and with the initial items. If no
|
|
`region_id` is provided the cart will be associated with the first
|
|
Region available. If no items are provided the cart will be empty after
|
|
creation. If a user is logged in the cart's customer id and email will
|
|
be set.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCartReq'
|
|
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.carts.create()
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: |
|
|
curl --location --request POST 'https://medusa-url.com/store/carts'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: Successfully created a new Cart
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/carts/{id}/payment-sessions':
|
|
post:
|
|
operationId: PostCartsCartPaymentSessions
|
|
summary: Create Payment Sessions
|
|
description: >-
|
|
Creates Payment Sessions for each of the available Payment Providers in
|
|
the Cart's Region.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
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 })
|
|
|
|
medusa.carts.createPaymentSessions(cart_id)
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/payment-sessions'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/carts/{id}/discounts/{code}':
|
|
delete:
|
|
operationId: DeleteCartsCartDiscountsDiscount
|
|
description: Removes a Discount from a Cart.
|
|
summary: Remove Discount
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
schema:
|
|
type: string
|
|
- in: path
|
|
name: code
|
|
required: true
|
|
description: The unique Discount code.
|
|
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 })
|
|
|
|
medusa.carts.deleteDiscount(cart_id, code)
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request DELETE
|
|
'https://medusa-url.com/store/carts/{id}/discounts/{code}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/carts/{id}/line-items/{line_id}':
|
|
delete:
|
|
operationId: DeleteCartsCartLineItemsItem
|
|
summary: Delete a Line Item
|
|
description: Removes a Line Item from a Cart.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
schema:
|
|
type: string
|
|
- in: path
|
|
name: line_id
|
|
required: true
|
|
description: The id of the Line Item.
|
|
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 })
|
|
|
|
medusa.carts.lineItems.delete(cart_id, line_id)
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request DELETE
|
|
'https://medusa-url.com/store/carts/{id}/line-items/{line_id}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/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: PostCartsCartLineItemsItem
|
|
summary: Update a Line Item
|
|
description: Updates a Line Item if the desired quantity can be fulfilled.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
schema:
|
|
type: string
|
|
- in: path
|
|
name: line_id
|
|
required: true
|
|
description: The id of the Line Item.
|
|
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 })
|
|
|
|
medusa.carts.lineItems.update(cart_id, line_id, {
|
|
quantity: 1
|
|
})
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/line-items/{line_id}' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"quantity": 1
|
|
}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- quantity
|
|
properties:
|
|
quantity:
|
|
type: integer
|
|
description: The quantity to set the Line Item to.
|
|
'/carts/{id}/payment-sessions/{provider_id}':
|
|
delete:
|
|
operationId: DeleteCartsCartPaymentSessionsSession
|
|
summary: Delete a Payment Session
|
|
description: >-
|
|
Deletes a Payment Session on a Cart. May be useful if a payment has
|
|
failed.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
schema:
|
|
type: string
|
|
- in: path
|
|
name: provider_id
|
|
required: true
|
|
description: >-
|
|
The id of the Payment Provider used to create the Payment Session to
|
|
be deleted.
|
|
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 })
|
|
|
|
medusa.carts.deletePaymentSession(cart_id, 'manual')
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request DELETE
|
|
'https://medusa-url.com/store/carts/{id}/payment-sessions/manual'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/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: PostCartsCartPaymentSessionUpdate
|
|
summary: Update a Payment Session
|
|
description: Updates a Payment Session with additional data.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
schema:
|
|
type: string
|
|
- in: path
|
|
name: provider_id
|
|
required: true
|
|
description: The id of the payment provider.
|
|
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 })
|
|
|
|
medusa.carts.updatePaymentSession(cart_id, 'manual', {
|
|
data: {
|
|
}
|
|
})
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/payment-sessions/manual' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"data": {}
|
|
}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- data
|
|
properties:
|
|
data:
|
|
type: object
|
|
description: The data to update the payment session with.
|
|
'/carts/{id}':
|
|
get:
|
|
operationId: GetCartsCart
|
|
summary: Get a Cart
|
|
description: Retrieves a Cart.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
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 })
|
|
|
|
medusa.carts.retrieve(cart_id)
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/carts/{id}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/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: PostCartsCart
|
|
summary: Update a Cart
|
|
description: Updates a Cart.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCartsCartReq'
|
|
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.carts.update(cart_id, {
|
|
email: 'user@example.com'
|
|
})
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"email": "user@example.com"
|
|
}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/carts/{id}/payment-sessions/{provider_id}/refresh':
|
|
post:
|
|
operationId: PostCartsCartPaymentSessionsSession
|
|
summary: Refresh a Payment Session
|
|
description: >-
|
|
Refreshes a Payment Session to ensure that it is in sync with the Cart -
|
|
this is usually not necessary.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart.
|
|
schema:
|
|
type: string
|
|
- in: path
|
|
name: provider_id
|
|
required: true
|
|
description: >-
|
|
The id of the Payment Provider that created the Payment Session to
|
|
be refreshed.
|
|
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 })
|
|
|
|
medusa.carts.refreshPaymentSession(cart_id, 'manual')
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/payment-sessions/manual/refresh'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/carts/{id}/payment-session':
|
|
post:
|
|
operationId: PostCartsCartPaymentSession
|
|
summary: Select a Payment Session
|
|
description: >-
|
|
Selects a Payment Session as the session intended to be used towards the
|
|
completion of the Cart.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The ID of the Cart.
|
|
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 })
|
|
|
|
medusa.carts.setPaymentSession(cart_id, {
|
|
provider_id: 'manual'
|
|
})
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/payment-sessions' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"provider_id": "manual"
|
|
}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- provider_id
|
|
properties:
|
|
provider_id:
|
|
type: string
|
|
description: The ID of the Payment Provider.
|
|
'/collections/{id}':
|
|
get:
|
|
operationId: GetCollectionsCollection
|
|
summary: Get a Collection
|
|
description: Retrieves a Product Collection.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Product Collection
|
|
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 })
|
|
|
|
medusa.collections.retrieve(collection_id)
|
|
|
|
.then(({ collection }) => {
|
|
console.log(collection.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/collections/{id}'
|
|
tags:
|
|
- Collection
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
collection:
|
|
$ref: '#/components/schemas/ProductCollection'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/collections:
|
|
get:
|
|
operationId: GetCollections
|
|
summary: List Collections
|
|
description: Retrieve a list of Product Collection.
|
|
parameters:
|
|
- in: query
|
|
name: offset
|
|
description: >-
|
|
The number of collections to skip before starting to collect the
|
|
collections set
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- in: query
|
|
name: limit
|
|
description: The number of collections to return
|
|
schema:
|
|
type: integer
|
|
default: 10
|
|
- in: query
|
|
name: created_at
|
|
description: Date comparison for when resulting collections were created.
|
|
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: Date comparison for when resulting collections were updated.
|
|
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-codeSamples:
|
|
- lang: JavaScript
|
|
label: JS Client
|
|
source: >
|
|
import Medusa from "@medusajs/medusa-js"
|
|
|
|
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
|
3 })
|
|
|
|
medusa.collections.list()
|
|
|
|
.then(({ collections, limit, offset, count }) => {
|
|
console.log(collections.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/collections'
|
|
tags:
|
|
- Collection
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
collections:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ProductCollection'
|
|
count:
|
|
type: integer
|
|
description: The total number of items available
|
|
offset:
|
|
type: integer
|
|
description: The number of items skipped before these items
|
|
limit:
|
|
type: integer
|
|
description: The number of items per page
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/customers/me/addresses:
|
|
post:
|
|
operationId: PostCustomersCustomerAddresses
|
|
summary: Add a Shipping Address
|
|
description: Adds a Shipping Address to a Customer's saved addresses.
|
|
x-authenticated: true
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCustomersCustomerAddressesReq'
|
|
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
|
|
|
|
medusa.customers.addresses.addAddress({
|
|
address: {
|
|
first_name: 'Celia',
|
|
last_name: 'Schumm',
|
|
address_1: '225 Bednar Curve',
|
|
city: 'Danielville',
|
|
country_code: 'US',
|
|
postal_code: '85137',
|
|
phone: '981-596-6748 x90188',
|
|
company: 'Wyman LLC',
|
|
address_2: '',
|
|
province: 'Georgia',
|
|
metadata: {}
|
|
}
|
|
})
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/customers/me/addresses' \
|
|
|
|
--header 'Cookie: connect.sid={sid}' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"address": {
|
|
"first_name": "Celia",
|
|
"last_name": "Schumm",
|
|
"address_1": "225 Bednar Curve",
|
|
"city": "Danielville",
|
|
"country_code": "US",
|
|
"postal_code": "85137"
|
|
}
|
|
}'
|
|
security:
|
|
- cookie_auth: []
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: A successful response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/customers:
|
|
post:
|
|
operationId: PostCustomers
|
|
summary: Create a Customer
|
|
description: Creates a Customer account.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCustomersReq'
|
|
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.customers.create({
|
|
first_name: 'Alec',
|
|
last_name: 'Reynolds',
|
|
email: 'user@example.com',
|
|
password: 'supersecret'
|
|
})
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/customers' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"first_name": "Alec",
|
|
"last_name": "Reynolds",
|
|
"email": "user@example.com",
|
|
"password": "supersecret"
|
|
}'
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
description: A customer with the same email exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
description: The error code
|
|
type:
|
|
type: string
|
|
description: The type of error
|
|
message:
|
|
type: string
|
|
description: Human-readable message with details about the error
|
|
example:
|
|
code: invalid_request_error
|
|
type: duplicate_error
|
|
message: >-
|
|
A customer with the given email already has an account. Log in
|
|
instead
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/customers/me/addresses/{address_id}':
|
|
delete:
|
|
operationId: DeleteCustomersCustomerAddressesAddress
|
|
summary: Delete an Address
|
|
description: Removes an Address from the Customer's saved addresses.
|
|
x-authenticated: true
|
|
parameters:
|
|
- in: path
|
|
name: address_id
|
|
required: true
|
|
description: The id of the Address to remove.
|
|
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
|
|
|
|
medusa.customers.addresses.deleteAddress(address_id)
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request DELETE
|
|
'https://medusa-url.com/store/customers/me/addresses/{address_id}' \
|
|
|
|
--header 'Cookie: connect.sid={sid}'
|
|
security:
|
|
- cookie_auth: []
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/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: PostCustomersCustomerAddressesAddress
|
|
summary: Update a Shipping Address
|
|
description: Updates a Customer's saved Shipping Address.
|
|
x-authenticated: true
|
|
parameters:
|
|
- in: path
|
|
name: address_id
|
|
required: true
|
|
description: The id of the Address to update.
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: >-
|
|
#/components/schemas/StorePostCustomersCustomerAddressesAddressReq
|
|
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
|
|
|
|
medusa.customers.addresses.updateAddress(address_id, {
|
|
first_name: 'Gina'
|
|
})
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/customers/me/addresses/{address_id}' \
|
|
|
|
--header 'Cookie: connect.sid={sid}' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"first_name": "Gina"
|
|
}'
|
|
security:
|
|
- cookie_auth: []
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/customers/me:
|
|
get:
|
|
operationId: GetCustomersCustomer
|
|
summary: Get a Customer
|
|
description: >-
|
|
Retrieves a Customer - the Customer must be logged in to retrieve their
|
|
details.
|
|
x-authenticated: true
|
|
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
|
|
|
|
medusa.customers.retrieve()
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/customers/me' \
|
|
|
|
--header 'Cookie: connect.sid={sid}'
|
|
security:
|
|
- cookie_auth: []
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/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 Customer
|
|
description: Updates a Customer's saved details.
|
|
x-authenticated: true
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCustomersCustomerReq'
|
|
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
|
|
|
|
medusa.customers.update({
|
|
first_name: 'Laury'
|
|
})
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/customers/me' \
|
|
|
|
--header 'Cookie: connect.sid={sid}' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"first_name": "Laury"
|
|
}'
|
|
security:
|
|
- cookie_auth: []
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/customers/me/payment-methods:
|
|
get:
|
|
operationId: GetCustomersCustomerPaymentMethods
|
|
summary: Get Payment Methods
|
|
description: >-
|
|
Retrieves a list of a Customer's saved payment methods. Payment methods
|
|
are saved with Payment Providers and it is their responsibility to fetch
|
|
saved methods.
|
|
x-authenticated: true
|
|
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
|
|
|
|
medusa.customers.paymentMethods.list()
|
|
|
|
.then(({ payment_methods }) => {
|
|
console.log(payment_methods.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/customers/me/payment-methods' \
|
|
|
|
--header 'Cookie: connect.sid={sid}'
|
|
security:
|
|
- cookie_auth: []
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
payment_methods:
|
|
type: array
|
|
items:
|
|
properties:
|
|
provider_id:
|
|
type: string
|
|
description: >-
|
|
The id of the Payment Provider where the payment
|
|
method is saved.
|
|
data:
|
|
type: object
|
|
description: >-
|
|
The data needed for the Payment Provider to use the
|
|
saved payment method.
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/customers/me/orders:
|
|
get:
|
|
operationId: GetCustomersCustomerOrders
|
|
summary: List Orders
|
|
description: Retrieves a list of a Customer's Orders.
|
|
x-authenticated: true
|
|
parameters:
|
|
- in: query
|
|
name: q
|
|
description: Query used for searching orders.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: id
|
|
description: Id of the order to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: status
|
|
style: form
|
|
explode: false
|
|
description: Status to search for.
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: fulfillment_status
|
|
style: form
|
|
explode: false
|
|
description: Fulfillment status to search for.
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: payment_status
|
|
style: form
|
|
explode: false
|
|
description: Payment status to search for.
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: display_id
|
|
description: Display id to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: cart_id
|
|
description: to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: email
|
|
description: to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: region_id
|
|
description: to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: currency_code
|
|
style: form
|
|
explode: false
|
|
description: The 3 character ISO currency code to set prices based on.
|
|
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: to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: created_at
|
|
description: Date comparison for when resulting collections were created.
|
|
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: Date comparison for when resulting collections were updated.
|
|
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: Date comparison for when resulting collections were canceled.
|
|
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: How many orders to return.
|
|
schema:
|
|
type: integer
|
|
default: 10
|
|
- in: query
|
|
name: offset
|
|
description: The offset in the resulting orders.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- in: query
|
|
name: fields
|
|
description: >-
|
|
(Comma separated string) Which fields should be included in the
|
|
resulting orders.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: expand
|
|
description: >-
|
|
(Comma separated string) Which relations should be expanded in the
|
|
resulting orders.
|
|
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
|
|
|
|
medusa.customers.listOrders()
|
|
|
|
.then(({ orders, limit, offset, count }) => {
|
|
console.log(orders);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/customers/me/orders' \
|
|
|
|
--header 'Cookie: connect.sid={sid}'
|
|
security:
|
|
- cookie_auth: []
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
orders:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Order'
|
|
count:
|
|
type: integer
|
|
description: The total number of items available
|
|
offset:
|
|
type: integer
|
|
description: The number of items skipped before these items
|
|
limit:
|
|
type: integer
|
|
description: The number of items per page
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/customers/password-token:
|
|
post:
|
|
operationId: PostCustomersCustomerPasswordToken
|
|
summary: Request Password Reset
|
|
description: >-
|
|
Creates a reset password token to be used in a subsequent
|
|
/reset-password request. The password token should be sent out of band
|
|
e.g. via email and will not be returned.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCustomersCustomerPasswordTokenReq'
|
|
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.customers.generatePasswordToken({
|
|
email: 'user@example.com'
|
|
})
|
|
|
|
.then(() => {
|
|
// successful
|
|
})
|
|
|
|
.catch(() => {
|
|
// failed
|
|
})
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/customers/password-token' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"email": "user@example.com"
|
|
}'
|
|
tags:
|
|
- Customer
|
|
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'
|
|
/customers/password-reset:
|
|
post:
|
|
operationId: PostCustomersResetPassword
|
|
summary: Reset Password
|
|
description: >-
|
|
Resets a Customer's password using a password token created by a
|
|
previous /password-token request.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCustomersResetPasswordReq'
|
|
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.customers.resetPassword({
|
|
email: 'user@example.com',
|
|
password: 'supersecret',
|
|
token: 'supersecrettoken'
|
|
})
|
|
|
|
.then(({ customer }) => {
|
|
console.log(customer.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/customers/password-reset' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"email": "user@example.com",
|
|
"password": "supersecret",
|
|
"token": "supersecrettoken"
|
|
}'
|
|
tags:
|
|
- Customer
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
customer:
|
|
$ref: '#/components/schemas/Customer'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/gift-cards/{code}':
|
|
get:
|
|
operationId: GetGiftCardsCode
|
|
summary: Get Gift Card by Code
|
|
description: Retrieves a Gift Card by its associated unqiue code.
|
|
parameters:
|
|
- in: path
|
|
name: code
|
|
required: true
|
|
description: The unique Gift Card code.
|
|
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 })
|
|
|
|
medusa.giftCards.retrieve(code)
|
|
|
|
.then(({ gift_card }) => {
|
|
console.log(gift_card.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/gift-cards/{code}'
|
|
tags:
|
|
- Gift Card
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
gift_card:
|
|
$ref: '#/components/schemas/GiftCard'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/order-edits/{id}/complete':
|
|
post:
|
|
operationId: PostOrderEditsOrderEditComplete
|
|
summary: Completes an OrderEdit
|
|
description: Completes an OrderEdit.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The ID of the Order Edit.
|
|
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 })
|
|
|
|
medusa.orderEdits.complete(order_edit_id)
|
|
.then(({ order_edit }) => {
|
|
console.log(order_edit.id)
|
|
})
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/order-edits/{id}/complete'
|
|
tags:
|
|
- OrderEdit
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
order_edit:
|
|
$ref: '#/components/schemas/OrderEdit'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/order-edits/{id}/decline':
|
|
post:
|
|
operationId: PostOrderEditsOrderEditDecline
|
|
summary: Decline an OrderEdit
|
|
description: Declines an OrderEdit.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The ID of the OrderEdit.
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostOrderEditsOrderEditDecline'
|
|
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.orderEdits.decline(order_edit_id)
|
|
.then(({ order_edit }) => {
|
|
console.log(order_edit.id);
|
|
})
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/order-edits/{id}/decline'
|
|
tags:
|
|
- OrderEdit
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
order_edit:
|
|
$ref: '#/components/schemas/OrderEdit'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/order-edits/{id}':
|
|
get:
|
|
operationId: GetOrderEditsOrderEdit
|
|
summary: Retrieve an OrderEdit
|
|
description: Retrieves a OrderEdit.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The ID of the OrderEdit.
|
|
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 })
|
|
|
|
medusa.orderEdits.retrieve(order_edit_id)
|
|
|
|
.then(({ order_edit }) => {
|
|
console.log(order_edit.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/order-edits/{id}'
|
|
tags:
|
|
- OrderEdit
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
order_edit:
|
|
$ref: '#/components/schemas/OrderEdit'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/orders/customer/confirm:
|
|
post:
|
|
operationId: PostOrdersCustomerOrderClaimsCustomerOrderClaimAccept
|
|
summary: Verify a claim to orders
|
|
description: >-
|
|
Verifies the claim order token provided to the customer upon request of
|
|
order ownership
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCustomersCustomerAcceptClaimReq'
|
|
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.orders.confirmRequest(
|
|
token,
|
|
)
|
|
|
|
.then(() => {
|
|
// successful
|
|
})
|
|
|
|
.catch(() => {
|
|
// an error occurred
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/orders/customer/confirm' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"token": "{token}",
|
|
}'
|
|
security:
|
|
- api_token: []
|
|
- cookie_auth: []
|
|
tags:
|
|
- Invite
|
|
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'
|
|
'/orders/cart/{cart_id}':
|
|
get:
|
|
operationId: GetOrdersOrderCartId
|
|
summary: Get by Cart ID
|
|
description: >-
|
|
Retrieves an Order by the id of the Cart that was used to create the
|
|
Order.
|
|
parameters:
|
|
- in: path
|
|
name: cart_id
|
|
required: true
|
|
description: The ID of Cart.
|
|
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 })
|
|
|
|
medusa.orders.retrieveByCartId(cart_id)
|
|
|
|
.then(({ order }) => {
|
|
console.log(order.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/orders/cart/{id}'
|
|
tags:
|
|
- Order
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
order:
|
|
$ref: '#/components/schemas/Order'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/orders/{id}':
|
|
get:
|
|
operationId: GetOrdersOrder
|
|
summary: Get an Order
|
|
description: Retrieves an Order
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Order.
|
|
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 })
|
|
|
|
medusa.orders.retrieve(order_id)
|
|
|
|
.then(({ order }) => {
|
|
console.log(order.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/orders/{id}'
|
|
tags:
|
|
- Order
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
order:
|
|
$ref: '#/components/schemas/Order'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/orders:
|
|
get:
|
|
operationId: GetOrders
|
|
summary: Look Up an Order
|
|
description: Look up an order using filters.
|
|
parameters:
|
|
- in: query
|
|
name: display_id
|
|
required: true
|
|
description: The display id given to the Order.
|
|
schema:
|
|
type: number
|
|
- in: query
|
|
name: email
|
|
style: form
|
|
explode: false
|
|
description: The email associated with this order.
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: email
|
|
- in: query
|
|
name: shipping_address
|
|
style: form
|
|
explode: false
|
|
description: The shipping address associated with this order.
|
|
schema:
|
|
type: object
|
|
properties:
|
|
postal_code:
|
|
type: string
|
|
description: The postal code of the shipping address
|
|
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.orders.lookupOrder({
|
|
display_id: 1,
|
|
email: 'user@example.com'
|
|
})
|
|
|
|
.then(({ order }) => {
|
|
console.log(order.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/orders?display_id=1&email=user@example.com'
|
|
tags:
|
|
- Order
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
order:
|
|
$ref: '#/components/schemas/Order'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/orders/batch/customer/token:
|
|
post:
|
|
operationId: PostOrdersCustomerOrderClaim
|
|
summary: Claim orders for signed in account
|
|
description: >-
|
|
Sends an email to emails registered to orders provided with link to
|
|
transfer order ownership
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostCustomersCustomerOrderClaimReq'
|
|
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.orders.claimOrders({
|
|
display_ids,
|
|
})
|
|
|
|
.then(() => {
|
|
// successful
|
|
})
|
|
|
|
.catch(() => {
|
|
// an error occurred
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/batch/customer/token' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"display_ids": ["id"],
|
|
}'
|
|
security:
|
|
- api_token: []
|
|
- cookie_auth: []
|
|
tags:
|
|
- Invite
|
|
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'
|
|
'/payment-collections/{id}/sessions/batch/authorize':
|
|
post:
|
|
operationId: PostPaymentCollectionsSessionsBatchAuthorize
|
|
summary: Authorize Payment Sessions of a Payment Collection
|
|
description: Authorizes Payment Sessions of a Payment Collection.
|
|
x-authenticated: false
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The ID of the Payment Collections.
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: >-
|
|
#/components/schemas/StorePostPaymentCollectionsBatchSessionsAuthorizeReq
|
|
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.paymentCollections.authorize(payment_id)
|
|
|
|
.then(({ payment_collection }) => {
|
|
console.log(payment_collection.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/payment-collections/{id}/sessions/batch/authorize'
|
|
security:
|
|
- api_token: []
|
|
- cookie_auth: []
|
|
tags:
|
|
- Payment
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
payment_collection:
|
|
$ref: '#/components/schemas/PaymentCollection'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/payment-collections/{id}/sessions/{session_id}/authorize':
|
|
post:
|
|
operationId: PostPaymentCollectionsSessionsSessionAuthorize
|
|
summary: Authorize a Payment Session of a Payment Collection
|
|
description: Authorizes a Payment Session of a Payment Collection.
|
|
x-authenticated: false
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The ID of the Payment Collections.
|
|
schema:
|
|
type: string
|
|
- in: path
|
|
name: session_id
|
|
required: true
|
|
description: The ID of the Payment Session.
|
|
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.paymentCollections.authorize(payment_id, session_id)
|
|
|
|
.then(({ payment_collection }) => {
|
|
console.log(payment_collection.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/payment-collections/{id}/sessions/{session_id}/authorize'
|
|
security:
|
|
- api_token: []
|
|
- cookie_auth: []
|
|
tags:
|
|
- Payment
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
payment_session:
|
|
$ref: '#/components/schemas/PaymentSession'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/payment-collections/{id}':
|
|
get:
|
|
operationId: GetPaymentCollectionsPaymentCollection
|
|
summary: Retrieve an PaymentCollection
|
|
description: Retrieves a PaymentCollection.
|
|
x-authenticated: false
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The ID of the PaymentCollection.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: expand
|
|
description: Comma separated list of relations to include in the results.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: fields
|
|
description: Comma separated list of fields to include in the results.
|
|
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.paymentCollections.retrieve(paymentCollectionId)
|
|
.then(({ payment_collection }) => {
|
|
console.log(payment_collection.id)
|
|
})
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/payment-collections/{id}'
|
|
security:
|
|
- api_token: []
|
|
- cookie_auth: []
|
|
tags:
|
|
- PaymentCollection
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
payment_collection:
|
|
$ref: '#/components/schemas/PaymentCollection'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/payment-collections/{id}/sessions/batch':
|
|
post:
|
|
operationId: PostPaymentCollectionsPaymentCollectionSessionsBatch
|
|
summary: Manage Multiple Payment Sessions from Payment Collections
|
|
description: Manages Multiple Payment Sessions from Payment Collections.
|
|
x-authenticated: false
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The ID of the Payment Collections.
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostPaymentCollectionsBatchSessionsReq'
|
|
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
|
|
|
|
// Total amount = 10000
|
|
|
|
// Adding two new sessions
|
|
|
|
medusa.paymentCollections.managePaymentSessionsBatch(payment_id, [
|
|
{
|
|
provider_id: "stripe",
|
|
amount: 5000,
|
|
},
|
|
{
|
|
provider_id: "manual",
|
|
amount: 5000,
|
|
},
|
|
])
|
|
|
|
.then(({ payment_collection }) => {
|
|
console.log(payment_collection.id);
|
|
});
|
|
|
|
// Updating one session and removing the other
|
|
|
|
medusa.paymentCollections.managePaymentSessionsBatch(payment_id, [
|
|
{
|
|
provider_id: "stripe",
|
|
amount: 10000,
|
|
session_id: "ps_123456"
|
|
},
|
|
])
|
|
|
|
.then(({ payment_collection }) => {
|
|
console.log(payment_collection.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/payment-collections/{id}/sessions/batch'
|
|
security:
|
|
- api_token: []
|
|
- cookie_auth: []
|
|
tags:
|
|
- Payment
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
payment_collection:
|
|
$ref: '#/components/schemas/PaymentCollection'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/payment-collections/{id}/sessions':
|
|
post:
|
|
operationId: PostPaymentCollectionsSessions
|
|
summary: Manage Payment Sessions from Payment Collections
|
|
description: Manages Payment Sessions from Payment Collections.
|
|
x-authenticated: false
|
|
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/StorePaymentCollectionSessionsReq'
|
|
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
|
|
|
|
// Total amount = 10000
|
|
|
|
// Adding a payment session
|
|
|
|
medusa.paymentCollections.managePaymentSession(payment_id, {
|
|
provider_id: "stripe" })
|
|
|
|
.then(({ payment_collection }) => {
|
|
console.log(payment_collection.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/payment-collections/{id}/sessions'
|
|
security:
|
|
- api_token: []
|
|
- cookie_auth: []
|
|
tags:
|
|
- Payment
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
payment_collection:
|
|
$ref: '#/components/schemas/PaymentCollection'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/payment-collections/{id}/sessions/{session_id}':
|
|
post:
|
|
operationId: PostPaymentCollectionsPaymentCollectionPaymentSessionsSession
|
|
summary: Refresh a Payment Session
|
|
description: >-
|
|
Refreshes a Payment Session to ensure that it is in sync with the
|
|
Payment Collection.
|
|
x-authenticated: false
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the PaymentCollection.
|
|
schema:
|
|
type: string
|
|
- in: path
|
|
name: session_id
|
|
required: true
|
|
description: The id of the Payment Session to be refreshed.
|
|
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 })
|
|
|
|
medusa.paymentCollections.refreshPaymentSession(payment_collection_id,
|
|
session_id)
|
|
|
|
.then(({ payment_session }) => {
|
|
console.log(payment_session.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/payment-collections/{id}/sessions/{session_id}'
|
|
tags:
|
|
- PaymentCollection
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
payment_session:
|
|
$ref: '#/components/schemas/PaymentSession'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/product-types:
|
|
get:
|
|
operationId: GetProductTypes
|
|
summary: List Product Types
|
|
description: Retrieve a list of Product Types.
|
|
x-authenticated: true
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
description: The number of types to return.
|
|
schema:
|
|
type: integer
|
|
default: 20
|
|
- in: query
|
|
name: offset
|
|
description: The number of items to skip before the results.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- in: query
|
|
name: order
|
|
description: The field to sort items by.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: discount_condition_id
|
|
description: The discount condition id on which to filter the product types.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: value
|
|
style: form
|
|
explode: false
|
|
description: The type values to search for
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: id
|
|
style: form
|
|
explode: false
|
|
description: The type IDs to search for
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: q
|
|
description: A query string to search values for
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: created_at
|
|
description: Date comparison for when resulting product types were created.
|
|
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: Date comparison for when resulting product types were updated.
|
|
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-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.store.productTypes.list()
|
|
|
|
.then(({ product_types }) => {
|
|
console.log(product_types.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/product-types' \
|
|
|
|
--header 'Authorization: Bearer {api_token}'
|
|
security:
|
|
- api_token: []
|
|
- cookie_auth: []
|
|
tags:
|
|
- Product Type
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
product_types:
|
|
$ref: '#/components/schemas/ProductType'
|
|
count:
|
|
type: integer
|
|
description: The total number of items available
|
|
offset:
|
|
type: integer
|
|
description: The number of items skipped before these items
|
|
limit:
|
|
type: integer
|
|
description: The number of items per page
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'401':
|
|
$ref: '#/components/responses/unauthorized'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/products/{id}':
|
|
get:
|
|
operationId: GetProductsProduct
|
|
summary: Get a Product
|
|
description: Retrieves a Product.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Product.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: cart_id
|
|
description: The ID of the customer's cart.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: region_id
|
|
description: >-
|
|
The ID of the region the customer is using. This is helpful to
|
|
ensure correct prices are retrieved for a region.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: currency_code
|
|
style: form
|
|
explode: false
|
|
description: >-
|
|
The 3 character ISO currency code to set prices based on. This is
|
|
helpful to ensure correct prices are retrieved for a currency.
|
|
schema:
|
|
type: string
|
|
externalDocs:
|
|
url: 'https://en.wikipedia.org/wiki/ISO_4217#Active_codes'
|
|
description: See a list of codes.
|
|
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.products.retrieve(product_id)
|
|
|
|
.then(({ product }) => {
|
|
console.log(product.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/products/{id}'
|
|
tags:
|
|
- Product
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
product:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Product'
|
|
- type: object
|
|
properties:
|
|
variants:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: '#/components/schemas/ProductVariant'
|
|
- $ref: >-
|
|
#/components/schemas/ProductVariantPricesFields
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/products:
|
|
get:
|
|
operationId: GetProducts
|
|
summary: List Products
|
|
description: Retrieves a list of Products.
|
|
parameters:
|
|
- in: query
|
|
name: q
|
|
description: >-
|
|
Query used for searching products by title, description, variant's
|
|
title, variant's sku, and collection's title
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: id
|
|
style: form
|
|
explode: false
|
|
description: product IDs to search for.
|
|
schema:
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: sales_channel_id
|
|
style: form
|
|
explode: false
|
|
description: an array of sales channel IDs to filter the retrieved products by.
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: collection_id
|
|
style: form
|
|
explode: false
|
|
description: Collection IDs to search for
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: type_id
|
|
style: form
|
|
explode: false
|
|
description: Type IDs to search for
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: tags
|
|
style: form
|
|
explode: false
|
|
description: Tag IDs to search for
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: title
|
|
description: title to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: description
|
|
description: description to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: handle
|
|
description: handle to search for.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: is_giftcard
|
|
description: Search for giftcards using is_giftcard=true.
|
|
schema:
|
|
type: boolean
|
|
- in: query
|
|
name: created_at
|
|
description: Date comparison for when resulting products were created.
|
|
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: Date comparison for when resulting products were updated.
|
|
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: How many products to skip in the result.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- in: query
|
|
name: limit
|
|
description: Limit the number of products returned.
|
|
schema:
|
|
type: integer
|
|
default: 100
|
|
- in: query
|
|
name: expand
|
|
description: >-
|
|
(Comma separated) Which fields should be expanded in each order of
|
|
the result.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: fields
|
|
description: >-
|
|
(Comma separated) Which fields should be included in each order of
|
|
the result.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: order
|
|
description: the field used to order the products.
|
|
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 })
|
|
|
|
medusa.products.list()
|
|
|
|
.then(({ products, limit, offset, count }) => {
|
|
console.log(products.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/products'
|
|
tags:
|
|
- Product
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
products:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Product'
|
|
- type: object
|
|
properties:
|
|
variants:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: '#/components/schemas/ProductVariant'
|
|
- $ref: >-
|
|
#/components/schemas/ProductVariantPricesFields
|
|
count:
|
|
type: integer
|
|
description: The total number of items available
|
|
offset:
|
|
type: integer
|
|
description: The number of items skipped before these items
|
|
limit:
|
|
type: integer
|
|
description: The number of items per page
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/products/search:
|
|
post:
|
|
operationId: PostProductsSearch
|
|
summary: Search Products
|
|
description: >-
|
|
Run a search query on products using the search engine installed on
|
|
Medusa
|
|
parameters:
|
|
- in: query
|
|
name: q
|
|
required: true
|
|
description: The query to run the search with.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: offset
|
|
description: How many products to skip in the result.
|
|
schema:
|
|
type: integer
|
|
- in: query
|
|
name: limit
|
|
description: Limit the number of products returned.
|
|
schema:
|
|
type: integer
|
|
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.products.search({
|
|
q: 'Shirt'
|
|
})
|
|
|
|
.then(({ hits }) => {
|
|
console.log(hits.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/products/search?q=Shirt'
|
|
tags:
|
|
- Product
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
hits:
|
|
type: array
|
|
description: >-
|
|
Array of results. The format of the items depends on the
|
|
search engine installed on the server.
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/regions/{id}':
|
|
get:
|
|
operationId: GetRegionsRegion
|
|
summary: Get a Region
|
|
description: Retrieves a Region.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Region.
|
|
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 })
|
|
|
|
medusa.regions.retrieve(region_id)
|
|
|
|
.then(({ region }) => {
|
|
console.log(region.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/regions/{id}'
|
|
tags:
|
|
- Region
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
region:
|
|
$ref: '#/components/schemas/Region'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/regions:
|
|
get:
|
|
operationId: GetRegions
|
|
summary: List Regions
|
|
description: Retrieves a list of Regions.
|
|
parameters:
|
|
- in: query
|
|
name: offset
|
|
description: How many regions to skip in the result.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- in: query
|
|
name: limit
|
|
description: Limit the number of regions returned.
|
|
schema:
|
|
type: integer
|
|
default: 100
|
|
- in: query
|
|
name: created_at
|
|
description: Date comparison for when resulting regions were created.
|
|
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: Date comparison for when resulting regions were updated.
|
|
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-codeSamples:
|
|
- lang: JavaScript
|
|
label: JS Client
|
|
source: >
|
|
import Medusa from "@medusajs/medusa-js"
|
|
|
|
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
|
3 })
|
|
|
|
medusa.regions.list()
|
|
|
|
.then(({ regions }) => {
|
|
console.log(regions.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: |
|
|
curl --location --request GET 'https://medusa-url.com/store/regions'
|
|
tags:
|
|
- Region
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
regions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Region'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/return-reasons/{id}':
|
|
get:
|
|
operationId: GetReturnReasonsReason
|
|
summary: Get a Return Reason
|
|
description: Retrieves a Return Reason.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Return Reason.
|
|
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 })
|
|
|
|
medusa.returnReasons.retrieve(reason_id)
|
|
|
|
.then(({ return_reason }) => {
|
|
console.log(return_reason.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/return-reasons/{id}'
|
|
tags:
|
|
- Return Reason
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
return_reason:
|
|
$ref: '#/components/schemas/ReturnReason'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/return-reasons:
|
|
get:
|
|
operationId: GetReturnReasons
|
|
summary: List Return Reasons
|
|
description: Retrieves a list of Return Reasons.
|
|
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.returnReasons.list()
|
|
|
|
.then(({ return_reasons }) => {
|
|
console.log(return_reasons.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/return-reasons'
|
|
tags:
|
|
- Return Reason
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
return_reasons:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ReturnReason'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/returns:
|
|
post:
|
|
operationId: PostReturns
|
|
summary: Create Return
|
|
description: Creates a Return for an Order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostReturnsReq'
|
|
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.returns.create({
|
|
order_id,
|
|
items: [
|
|
{
|
|
item_id,
|
|
quantity: 1
|
|
}
|
|
]
|
|
})
|
|
|
|
.then((data) => {
|
|
console.log(data.return.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/returns' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"order_id": "asfasf",
|
|
"items": [
|
|
{
|
|
"item_id": "assfasf",
|
|
"quantity": 1
|
|
}
|
|
]
|
|
}'
|
|
tags:
|
|
- Return
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
return:
|
|
$ref: '#/components/schemas/Return'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/shipping-options:
|
|
get:
|
|
operationId: GetShippingOptions
|
|
summary: Get Shipping Options
|
|
description: Retrieves a list of Shipping Options.
|
|
parameters:
|
|
- in: query
|
|
name: is_return
|
|
description: >-
|
|
Whether return Shipping Options should be included. By default all
|
|
Shipping Options are returned.
|
|
schema:
|
|
type: boolean
|
|
- in: query
|
|
name: product_ids
|
|
description: A comma separated list of Product ids to filter Shipping Options by.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: region_id
|
|
description: the Region to retrieve Shipping Options from.
|
|
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 })
|
|
|
|
medusa.shippingOptions.list()
|
|
|
|
.then(({ shipping_options }) => {
|
|
console.log(shipping_options.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/shipping-options'
|
|
tags:
|
|
- Shipping Option
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
shipping_options:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ShippingOption'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/shipping-options/{cart_id}':
|
|
get:
|
|
operationId: GetShippingOptionsCartId
|
|
summary: List for Cart
|
|
description: Retrieves a list of Shipping Options available to a cart.
|
|
parameters:
|
|
- in: path
|
|
name: cart_id
|
|
required: true
|
|
description: The id of the Cart.
|
|
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 })
|
|
|
|
medusa.shippingOptions.listCartOptions(cart_id)
|
|
|
|
.then(({ shipping_options }) => {
|
|
console.log(shipping_options.length);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/shipping-options/{cart_id}'
|
|
tags:
|
|
- Shipping Option
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
shipping_options:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ShippingOption'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/swaps:
|
|
post:
|
|
operationId: PostSwaps
|
|
summary: Create a Swap
|
|
description: >-
|
|
Creates a Swap on an Order by providing some items to return along with
|
|
some items to send back
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StorePostSwapsReq'
|
|
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.swaps.create({
|
|
order_id,
|
|
return_items: [
|
|
{
|
|
item_id,
|
|
quantity: 1
|
|
}
|
|
],
|
|
additional_items: [
|
|
{
|
|
variant_id,
|
|
quantity: 1
|
|
}
|
|
]
|
|
})
|
|
|
|
.then(({ swap }) => {
|
|
console.log(swap.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST 'https://medusa-url.com/store/swaps'
|
|
\
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"order_id": "asfasf",
|
|
"return_items": [
|
|
{
|
|
"item_id": "asfas",
|
|
"quantity": 1
|
|
}
|
|
],
|
|
"additional_items": [
|
|
{
|
|
"variant_id": "asfas",
|
|
"quantity": 1
|
|
}
|
|
]
|
|
}'
|
|
tags:
|
|
- Swap
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
swap:
|
|
$ref: '#/components/schemas/Swap'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/swaps/{cart_id}':
|
|
get:
|
|
operationId: GetSwapsSwapCartId
|
|
summary: Get by Cart ID
|
|
description: Retrieves a Swap by the id of the Cart used to confirm the Swap.
|
|
parameters:
|
|
- in: path
|
|
name: cart_id
|
|
required: true
|
|
description: The id of the Cart
|
|
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 })
|
|
|
|
medusa.swaps.retrieveByCartId(cart_id)
|
|
|
|
.then(({ swap }) => {
|
|
console.log(swap.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/swaps/{cart_id}'
|
|
tags:
|
|
- Swap
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
swap:
|
|
$ref: '#/components/schemas/Swap'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/variants/{variant_id}':
|
|
get:
|
|
operationId: GetVariantsVariant
|
|
summary: Get a Product Variant
|
|
description: Retrieves a Product Variant by id
|
|
parameters:
|
|
- in: path
|
|
name: variant_id
|
|
required: true
|
|
description: The id of the Product Variant.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: cart_id
|
|
description: The id of the Cart to set prices based on.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: region_id
|
|
description: The id of the Region to set prices based on.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: currency_code
|
|
style: form
|
|
explode: false
|
|
description: The 3 character ISO currency code to set prices based on.
|
|
schema:
|
|
type: string
|
|
externalDocs:
|
|
url: 'https://en.wikipedia.org/wiki/ISO_4217#Active_codes'
|
|
description: See a list of codes.
|
|
x-codeSamples:
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/variants/{id}'
|
|
tags:
|
|
- Product Variant
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
variant:
|
|
allOf:
|
|
- $ref: '#/components/schemas/ProductVariant'
|
|
- $ref: '#/components/schemas/ProductVariantPricesFields'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
/variants:
|
|
get:
|
|
operationId: GetVariants
|
|
summary: Get Product Variants
|
|
description: Retrieves a list of Product Variants
|
|
parameters:
|
|
- in: query
|
|
name: ids
|
|
description: A comma separated list of Product Variant ids to filter by.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: expand
|
|
description: A comma separated list of Product Variant relations to load.
|
|
schema:
|
|
type: string
|
|
- in: query
|
|
name: offset
|
|
description: How many product variants to skip in the result.
|
|
schema:
|
|
type: number
|
|
default: '0'
|
|
- in: query
|
|
name: limit
|
|
description: Maximum number of Product Variants to return.
|
|
schema:
|
|
type: number
|
|
default: '100'
|
|
- in: query
|
|
name: title
|
|
style: form
|
|
explode: false
|
|
description: product variant title to search for.
|
|
schema:
|
|
oneOf:
|
|
- type: string
|
|
description: a single title to search by
|
|
- type: array
|
|
description: multiple titles to search by
|
|
items:
|
|
type: string
|
|
- in: query
|
|
name: inventory_quantity
|
|
description: Filter by available inventory quantity
|
|
schema:
|
|
oneOf:
|
|
- type: number
|
|
description: a specific number to search by.
|
|
- type: object
|
|
description: search 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-codeSamples:
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/variants'
|
|
tags:
|
|
- Product Variant
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
variants:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: '#/components/schemas/ProductVariant'
|
|
- $ref: '#/components/schemas/ProductVariantPricesFields'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
'/carts/{id}/line-items':
|
|
post:
|
|
operationId: PostCartsCartLineItems
|
|
summary: Add a Line Item
|
|
description: >-
|
|
Generates a Line Item with a given Product Variant and adds it to the
|
|
Cart
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
description: The id of the Cart to add the Line Item to.
|
|
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 })
|
|
|
|
medusa.carts.lineItems.create(cart_id, {
|
|
variant_id,
|
|
quantity: 1
|
|
})
|
|
|
|
.then(({ cart }) => {
|
|
console.log(cart.id);
|
|
});
|
|
- lang: Shell
|
|
label: cURL
|
|
source: >
|
|
curl --location --request POST
|
|
'https://medusa-url.com/store/carts/{id}/line-items' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"variant_id": "{variant_id}",
|
|
"quantity": 1
|
|
}'
|
|
tags:
|
|
- Cart
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cart:
|
|
$ref: '#/components/schemas/Cart'
|
|
'400':
|
|
$ref: '#/components/responses/400_error'
|
|
'404':
|
|
$ref: '#/components/responses/not_found_error'
|
|
'409':
|
|
$ref: '#/components/responses/invalid_state_error'
|
|
'422':
|
|
$ref: '#/components/responses/invalid_request_error'
|
|
'500':
|
|
$ref: '#/components/responses/500_error'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- variant_id
|
|
- quantity
|
|
properties:
|
|
variant_id:
|
|
type: string
|
|
description: >-
|
|
The id of the Product Variant to generate the Line Item
|
|
from.
|
|
quantity:
|
|
type: integer
|
|
description: The quantity of the Product Variant to add to the Line Item.
|
|
metadata:
|
|
type: object
|
|
description: >-
|
|
An optional key-value map with additional details about the
|
|
Line Item.
|
|
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:
|
|
cookie_auth:
|
|
type: apiKey
|
|
x-displayName: Cookie Session ID
|
|
in: cookie
|
|
name: connect.sid
|
|
description: >
|
|
Use a cookie session to send authenticated requests.
|
|
|
|
|
|
### How to Obtain the Cookie Session
|
|
|
|
|
|
If you're sending requests through a browser, using JS Client, or using
|
|
tools like Postman, the cookie session should be automatically set when
|
|
the customer is logged in.
|
|
|
|
|
|
If you're sending requests using cURL, you must set the Session ID in
|
|
the cookie manually.
|
|
|
|
|
|
To do that, send a request to [authenticate the
|
|
customer](#tag/Auth/operation/PostAuth) and pass the cURL option `-v`:
|
|
|
|
|
|
```bash
|
|
|
|
curl -v --location --request POST 'https://medusa-url.com/store/auth' \
|
|
|
|
--header 'Content-Type: application/json' \
|
|
|
|
--data-raw '{
|
|
"email": "user@example.com",
|
|
"password": "supersecret"
|
|
}'
|
|
|
|
```
|
|
|
|
|
|
The headers will be logged in the terminal as well as the response. You
|
|
should find in the headers a Cookie header similar to this:
|
|
|
|
|
|
```bash
|
|
|
|
Set-Cookie:
|
|
connect.sid=s%3A2Bu8BkaP9JUfHu9rG59G16Ma0QZf6Gj1.WT549XqX37PN8n0OecqnMCq798eLjZC5IT7yiDCBHPM;
|
|
|
|
```
|
|
|
|
|
|
Copy the value after `connect.sid` (without the `;` at the end) and pass
|
|
it as a cookie in subsequent requests as the following:
|
|
|
|
|
|
```bash
|
|
|
|
curl --location --request GET
|
|
'https://medusa-url.com/store/customers/me/orders' \
|
|
|
|
--header 'Cookie: connect.sid={sid}'
|
|
|
|
```
|
|
|
|
|
|
Where `{sid}` is the value of `connect.sid` that you copied.
|
|
schemas:
|
|
AddressFields:
|
|
title: Address Fields
|
|
description: Address fields used when creating/updating an address.
|
|
type: object
|
|
properties:
|
|
company:
|
|
type: string
|
|
description: Company name
|
|
example: Acme
|
|
first_name:
|
|
type: string
|
|
description: First name
|
|
example: Arno
|
|
last_name:
|
|
type: string
|
|
description: Last name
|
|
example: Willms
|
|
address_1:
|
|
type: string
|
|
description: Address line 1
|
|
example: 14433 Kemmer Court
|
|
address_2:
|
|
type: string
|
|
description: Address line 2
|
|
example: Suite 369
|
|
city:
|
|
type: string
|
|
description: City
|
|
example: South Geoffreyview
|
|
country_code:
|
|
type: string
|
|
description: The 2 character ISO code of the country in lower case
|
|
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:
|
|
type: string
|
|
description: Province
|
|
example: Kentucky
|
|
postal_code:
|
|
type: string
|
|
description: Postal Code
|
|
example: 72093
|
|
phone:
|
|
type: string
|
|
description: Phone Number
|
|
example: 16128234334802
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
Address:
|
|
title: Address
|
|
description: An address.
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: ID of the address
|
|
example: addr_01G8ZC9VS1XVE149MGH2J7QSSH
|
|
customer_id:
|
|
type: string
|
|
description: ID of the customer this address belongs to
|
|
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
|
customer:
|
|
description: Available if the relation `customer` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A customer object.
|
|
company:
|
|
type: string
|
|
description: Company name
|
|
example: Acme
|
|
first_name:
|
|
type: string
|
|
description: First name
|
|
example: Arno
|
|
last_name:
|
|
type: string
|
|
description: Last name
|
|
example: Willms
|
|
address_1:
|
|
type: string
|
|
description: Address line 1
|
|
example: 14433 Kemmer Court
|
|
address_2:
|
|
type: string
|
|
description: Address line 2
|
|
example: Suite 369
|
|
city:
|
|
type: string
|
|
description: City
|
|
example: South Geoffreyview
|
|
country_code:
|
|
type: string
|
|
description: The 2 character ISO code of the country in lower case
|
|
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. Available if the relation `country` is expanded.
|
|
type: object
|
|
province:
|
|
type: string
|
|
description: Province
|
|
example: Kentucky
|
|
postal_code:
|
|
type: string
|
|
description: Postal Code
|
|
example: 72093
|
|
phone:
|
|
type: string
|
|
description: Phone Number
|
|
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:
|
|
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
|
|
BatchJob:
|
|
title: Batch Job
|
|
description: A Batch Job.
|
|
type: object
|
|
required:
|
|
- type
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The unique identifier for the batch job.
|
|
example: batch_01G8T782965PYFG0751G0Z38B4
|
|
type:
|
|
type: string
|
|
description: The type of batch job.
|
|
enum:
|
|
- product-import
|
|
- product-export
|
|
status:
|
|
type: string
|
|
description: The status of the batch job.
|
|
enum:
|
|
- created
|
|
- pre_processed
|
|
- confirmed
|
|
- processing
|
|
- completed
|
|
- canceled
|
|
- failed
|
|
default: created
|
|
created_by:
|
|
type: string
|
|
description: The unique identifier of the user that created the batch job.
|
|
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
|
created_by_user:
|
|
description: >-
|
|
A user object. Available if the relation `created_by_user` is
|
|
expanded.
|
|
type: object
|
|
context:
|
|
type: object
|
|
description: >-
|
|
The context of the batch job, the type of the batch job determines
|
|
what the context should contain.
|
|
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: Specify if the job must apply the modifications or not.
|
|
default: false
|
|
result:
|
|
type: object
|
|
description: The result of the batch job.
|
|
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:
|
|
type: string
|
|
description: The date from which the job has been pre processed.
|
|
format: date-time
|
|
processing_at:
|
|
type: string
|
|
description: The date the job is processing at.
|
|
format: date-time
|
|
confirmed_at:
|
|
type: string
|
|
description: The date when the confirmation has been done.
|
|
format: date-time
|
|
completed_at:
|
|
type: string
|
|
description: The date of the completion.
|
|
format: date-time
|
|
canceled_at:
|
|
type: string
|
|
description: The date of the concellation.
|
|
format: date-time
|
|
failed_at:
|
|
type: string
|
|
description: The date when the job failed.
|
|
format: date-time
|
|
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 last updated.
|
|
format: date-time
|
|
deleted_at:
|
|
type: string
|
|
description: The date with timezone at which the resource was deleted.
|
|
format: date-time
|
|
Cart:
|
|
title: Cart
|
|
description: Represents a user cart
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The cart's ID
|
|
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
email:
|
|
type: string
|
|
description: The email associated with the cart
|
|
format: email
|
|
billing_address_id:
|
|
type: string
|
|
description: The billing address's ID
|
|
example: addr_01G8ZH853YPY9B94857DY91YGW
|
|
billing_address:
|
|
description: Available if the relation `billing_address` is expanded.
|
|
$ref: '#/components/schemas/Address'
|
|
shipping_address_id:
|
|
type: string
|
|
description: The shipping address's ID
|
|
example: addr_01G8ZH853YPY9B94857DY91YGW
|
|
shipping_address:
|
|
description: Available if the relation `shipping_address` is expanded.
|
|
$ref: '#/components/schemas/Address'
|
|
items:
|
|
description: Available if the relation `items` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/LineItem'
|
|
region_id:
|
|
type: string
|
|
description: The region's ID
|
|
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
|
region:
|
|
description: A region object. Available if the relation `region` is expanded.
|
|
type: object
|
|
discounts:
|
|
type: array
|
|
description: Available if the relation `discounts` is expanded.
|
|
items:
|
|
type: object
|
|
description: A discount object.
|
|
gift_cards:
|
|
type: array
|
|
description: Available if the relation `gift_cards` is expanded.
|
|
items:
|
|
type: object
|
|
description: A gift card object.
|
|
customer_id:
|
|
type: string
|
|
description: The customer's ID
|
|
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
|
customer:
|
|
description: A customer object. Available if the relation `customer` is expanded.
|
|
type: object
|
|
payment_session:
|
|
description: The selected payment session in the cart.
|
|
$ref: '#/components/schemas/PaymentSession'
|
|
payment_sessions:
|
|
type: array
|
|
description: The payment sessions created on the cart.
|
|
items:
|
|
$ref: '#/components/schemas/PaymentSession'
|
|
payment_id:
|
|
type: string
|
|
description: The payment's ID if available
|
|
example: pay_01G8ZCC5W42ZNY842124G7P5R9
|
|
payment:
|
|
description: Available if the relation `payment` is expanded.
|
|
$ref: '#/components/schemas/Payment'
|
|
shipping_methods:
|
|
type: array
|
|
description: The shipping methods added to the cart.
|
|
items:
|
|
$ref: '#/components/schemas/ShippingMethod'
|
|
type:
|
|
type: string
|
|
description: The cart's type.
|
|
enum:
|
|
- default
|
|
- swap
|
|
- draft_order
|
|
- payment_link
|
|
- claim
|
|
default: default
|
|
completed_at:
|
|
type: string
|
|
description: The date with timezone at which the cart was completed.
|
|
format: date-time
|
|
payment_authorized_at:
|
|
type: string
|
|
description: The date with timezone at which the payment was authorized.
|
|
format: date-time
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of a cart in
|
|
case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
context:
|
|
type: object
|
|
description: >-
|
|
The context of the cart which can include info like IP or user
|
|
agent.
|
|
example:
|
|
ip: '::1'
|
|
user_agent: PostmanRuntime/7.29.2
|
|
sales_channel_id:
|
|
type: string
|
|
description: The sales channel ID the cart is associated with.
|
|
example: null
|
|
sales_channel:
|
|
description: >-
|
|
A sales channel object. Available if the relation `sales_channel` is
|
|
expanded.
|
|
type: object
|
|
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
|
|
shipping_total:
|
|
type: integer
|
|
description: The total of shipping
|
|
example: 1000
|
|
discount_total:
|
|
type: integer
|
|
description: The total of discount
|
|
example: 800
|
|
tax_total:
|
|
type: integer
|
|
description: The total of tax
|
|
example: 0
|
|
refunded_total:
|
|
type: integer
|
|
description: >-
|
|
The total amount refunded if the order associated with this cart is
|
|
returned.
|
|
example: 0
|
|
total:
|
|
type: integer
|
|
description: The total amount of the cart
|
|
example: 8200
|
|
subtotal:
|
|
type: integer
|
|
description: The subtotal of the cart
|
|
example: 8000
|
|
refundable_amount:
|
|
type: integer
|
|
description: The amount that can be refunded
|
|
example: 8200
|
|
gift_card_total:
|
|
type: integer
|
|
description: The total of gift cards
|
|
example: 0
|
|
gift_card_tax_total:
|
|
type: integer
|
|
description: The total of gift cards with taxes
|
|
example: 0
|
|
ClaimImage:
|
|
title: Claim Image
|
|
description: Represents photo documentation of a claim.
|
|
type: object
|
|
required:
|
|
- claim_item_id
|
|
- url
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The claim image's ID
|
|
example: cimg_01G8ZH853Y6TFXWPG5EYE81X63
|
|
claim_item_id:
|
|
type: string
|
|
description: The ID of the claim item associated with the image
|
|
claim_item:
|
|
description: >-
|
|
A claim item object. Available if the relation `claim_item` is
|
|
expanded.
|
|
type: object
|
|
url:
|
|
type: string
|
|
description: The URL of the image
|
|
format: uri
|
|
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
|
|
ClaimItem:
|
|
title: Claim Item
|
|
description: >-
|
|
Represents a claimed item along with information about the reasons for
|
|
the claim.
|
|
type: object
|
|
required:
|
|
- claim_order_id
|
|
- item_id
|
|
- variant_id
|
|
- reason
|
|
- quantity
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The claim item's ID
|
|
example: citm_01G8ZH853Y6TFXWPG5EYE81X63
|
|
images:
|
|
type: array
|
|
description: Available if the relation `images` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/ClaimImage'
|
|
claim_order_id:
|
|
description: The ID of the claim this item is associated with.
|
|
type: string
|
|
claim_order:
|
|
description: >-
|
|
A claim order object. Available if the relation `claim_order` is
|
|
expanded.
|
|
type: object
|
|
item_id:
|
|
description: The ID of the line item that the claim item refers to.
|
|
type: string
|
|
example: item_01G8ZM25TN49YV9EQBE2NC27KC
|
|
item:
|
|
description: Available if the relation `item` is expanded.
|
|
$ref: '#/components/schemas/LineItem'
|
|
variant_id:
|
|
description: The ID of the product variant that is claimed.
|
|
type: string
|
|
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
|
variant:
|
|
description: A variant object. Available if the relation `variant` is expanded.
|
|
type: object
|
|
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'
|
|
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. Available if the
|
|
relation 'tags' is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ClaimTag'
|
|
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
|
|
ClaimOrder:
|
|
title: Claim Order
|
|
description: >-
|
|
Claim Orders represent a group of faulty or missing items. Each claim
|
|
order consists of a subset of items associated with an original order,
|
|
and can contain additional information about fulfillments and returns.
|
|
type: object
|
|
required:
|
|
- type
|
|
- order_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The claim's ID
|
|
example: claim_01G8ZH853Y6TFXWPG5EYE81X63
|
|
type:
|
|
type: string
|
|
enum:
|
|
- refund
|
|
- replace
|
|
payment_status:
|
|
type: string
|
|
description: The status of the claim's payment
|
|
enum:
|
|
- na
|
|
- not_refunded
|
|
- refunded
|
|
default: na
|
|
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 items that have been claimed
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ClaimItem'
|
|
additional_items:
|
|
description: >-
|
|
Refers to the new items to be shipped when the claim order has the
|
|
type `replace`
|
|
type: array
|
|
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: An order object. Available if the relation `order` is expanded.
|
|
type: object
|
|
return_order:
|
|
description: >-
|
|
A return object. Holds information about the return if the claim is
|
|
to be returned. Available if the relation 'return_order' is expanded
|
|
type: object
|
|
shipping_address_id:
|
|
description: The ID of the address that the new items should be shipped to
|
|
type: string
|
|
example: addr_01G8ZH853YPY9B94857DY91YGW
|
|
shipping_address:
|
|
description: Available if the relation `shipping_address` is expanded.
|
|
$ref: '#/components/schemas/Address'
|
|
shipping_methods:
|
|
description: The shipping methods that the claim order will be shipped with.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ShippingMethod'
|
|
fulfillments:
|
|
description: The fulfillments of the new items to be shipped
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Fulfillment'
|
|
refund_amount:
|
|
description: The amount that will be refunded in conjunction with the claim
|
|
type: integer
|
|
example: 1000
|
|
canceled_at:
|
|
description: The date with timezone at which the claim was canceled.
|
|
type: string
|
|
format: date-time
|
|
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
|
|
no_notification:
|
|
description: >-
|
|
Flag for describing whether or not notifications related to this
|
|
should be send.
|
|
type: boolean
|
|
example: false
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of the cart
|
|
associated with the claim in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
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:
|
|
- value
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The claim tag's ID
|
|
example: ctag_01G8ZCC5Y63B95V6B5SHBZ91S4
|
|
value:
|
|
description: The value that the claim tag holds
|
|
type: string
|
|
example: Damaged
|
|
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
|
|
Country:
|
|
title: Country
|
|
description: Country details
|
|
type: object
|
|
required:
|
|
- iso_2
|
|
- iso_3
|
|
- num_code
|
|
- name
|
|
- display_name
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The country's ID
|
|
example: 109
|
|
iso_2:
|
|
type: string
|
|
description: The 2 character ISO code of the country in lower case
|
|
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:
|
|
type: string
|
|
description: The 2 character ISO code of the country in lower case
|
|
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:
|
|
type: string
|
|
description: The region ID this country is associated with.
|
|
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
|
region:
|
|
description: A region object. Available if the relation `region` is expanded.
|
|
type: object
|
|
Currency:
|
|
title: Currency
|
|
description: Currency
|
|
type: object
|
|
required:
|
|
- code
|
|
- symbol
|
|
- symbol_native
|
|
- name
|
|
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: '[EXPERIMENTAL] Does the currency prices include tax'
|
|
type: boolean
|
|
CustomShippingOption:
|
|
title: Custom Shipping Option
|
|
description: >-
|
|
Custom Shipping Options are 'overriden' Shipping Options. Store managers
|
|
can attach a Custom Shipping Option to a cart in order to set a custom
|
|
price for a particular Shipping Option
|
|
type: object
|
|
required:
|
|
- price
|
|
- shipping_option_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The custom shipping option's ID
|
|
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: >-
|
|
A shipping option object. Available if the relation
|
|
`shipping_option` is expanded.
|
|
type: object
|
|
cart_id:
|
|
description: The ID of the Cart that the custom shipping option is attached to
|
|
type: string
|
|
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
cart:
|
|
description: A cart object. Available if the relation `cart` is expanded.
|
|
type: object
|
|
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
|
|
includes_tax:
|
|
description: >-
|
|
[EXPERIMENTAL] Indicates if the custom shipping option price include
|
|
tax
|
|
type: boolean
|
|
CustomerGroup:
|
|
title: Customer Group
|
|
description: Represents a customer group
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The customer group's ID
|
|
example: cgrp_01G8ZH853Y6TFXWPG5EYE81X63
|
|
name:
|
|
type: string
|
|
description: The name of the customer group
|
|
example: VIP
|
|
customers:
|
|
type: array
|
|
description: >-
|
|
The customers that belong to the customer group. Available if the
|
|
relation `customers` is expanded.
|
|
items:
|
|
type: object
|
|
description: A customer object.
|
|
price_lists:
|
|
type: array
|
|
description: >-
|
|
The price lists that are associated with the customer group.
|
|
Available if the relation `price_lists` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/PriceList'
|
|
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
|
|
Customer:
|
|
title: Customer
|
|
description: Represents a customer
|
|
type: object
|
|
required:
|
|
- email
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The customer's ID
|
|
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
|
email:
|
|
type: string
|
|
description: The customer's email
|
|
format: email
|
|
first_name:
|
|
type: string
|
|
description: The customer's first name
|
|
example: Arno
|
|
last_name:
|
|
type: string
|
|
description: The customer's last name
|
|
example: Willms
|
|
billing_address_id:
|
|
type: string
|
|
description: The customer's billing address ID
|
|
example: addr_01G8ZH853YPY9B94857DY91YGW
|
|
billing_address:
|
|
description: Available if the relation `billing_address` is expanded.
|
|
$ref: '#/components/schemas/Address'
|
|
shipping_addresses:
|
|
description: Available if the relation `shipping_addresses` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Address'
|
|
phone:
|
|
type: string
|
|
description: The customer's phone number
|
|
example: 16128234334802
|
|
has_account:
|
|
type: boolean
|
|
description: Whether the customer has an account or not
|
|
default: false
|
|
orders:
|
|
description: Available if the relation `orders` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: An order object.
|
|
groups:
|
|
description: >-
|
|
The customer groups the customer belongs to. Available if the
|
|
relation `groups` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/CustomerGroup'
|
|
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
|
|
DiscountConditionCustomerGroup:
|
|
title: Product Tag Discount Condition
|
|
description: Associates a discount condition with a customer group
|
|
type: object
|
|
required:
|
|
- customer_group_id
|
|
- condition_id
|
|
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.
|
|
$ref: '#/components/schemas/CustomerGroup'
|
|
discount_condition:
|
|
description: Available if the relation `discount_condition` is expanded.
|
|
$ref: '#/components/schemas/DiscountCondition'
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
DiscountConditionProductCollection:
|
|
title: Product Collection Discount Condition
|
|
description: Associates a discount condition with a product collection
|
|
type: object
|
|
required:
|
|
- product_collection_id
|
|
- condition_id
|
|
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: Available if the relation `product_collection` is expanded.
|
|
$ref: '#/components/schemas/ProductCollection'
|
|
discount_condition:
|
|
description: Available if the relation `discount_condition` is expanded.
|
|
$ref: '#/components/schemas/DiscountCondition'
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
DiscountConditionProductTag:
|
|
title: Product Tag Discount Condition
|
|
description: Associates a discount condition with a product tag
|
|
type: object
|
|
required:
|
|
- product_tag_id
|
|
- condition_id
|
|
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: Available if the relation `product_tag` is expanded.
|
|
$ref: '#/components/schemas/ProductTag'
|
|
discount_condition:
|
|
description: Available if the relation `discount_condition` is expanded.
|
|
$ref: '#/components/schemas/DiscountCondition'
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
DiscountConditionProductType:
|
|
title: Product Type Discount Condition
|
|
description: Associates a discount condition with a product type
|
|
type: object
|
|
required:
|
|
- product_type_id
|
|
- condition_id
|
|
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: Available if the relation `product_type` is expanded.
|
|
$ref: '#/components/schemas/ProductType'
|
|
discount_condition:
|
|
description: Available if the relation `discount_condition` is expanded.
|
|
$ref: '#/components/schemas/DiscountCondition'
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
DiscountConditionProduct:
|
|
title: Product Discount Condition
|
|
description: Associates a discount condition with a product
|
|
type: object
|
|
required:
|
|
- product_id
|
|
- condition_id
|
|
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: Available if the relation `product` is expanded.
|
|
$ref: '#/components/schemas/Product'
|
|
discount_condition:
|
|
description: Available if the relation `discount_condition` is expanded.
|
|
$ref: '#/components/schemas/DiscountCondition'
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
DiscountCondition:
|
|
title: Discount Condition
|
|
description: Holds rule conditions for when a discount is applicable
|
|
type: object
|
|
required:
|
|
- type
|
|
- operator
|
|
- discount_rule_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The discount condition's ID
|
|
example: discon_01G8X9A7ESKAJXG2H0E6F1MW7A
|
|
type:
|
|
description: The type of the Condition
|
|
type: string
|
|
enum:
|
|
- products
|
|
- product_types
|
|
- product_collections
|
|
- product_tags
|
|
- customer_groups
|
|
operator:
|
|
description: The operator of the Condition
|
|
type: string
|
|
enum:
|
|
- in
|
|
- not_in
|
|
discount_rule_id:
|
|
type: string
|
|
description: The ID of the discount rule associated with the condition
|
|
example: dru_01F0YESMVK96HVX7N419E3CJ7C
|
|
discount_rule:
|
|
description: Available if the relation `discount_rule` is expanded.
|
|
$ref: '#/components/schemas/DiscountRule'
|
|
products:
|
|
description: >-
|
|
products associated with this condition if type = products.
|
|
Available if the relation `products` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A product object.
|
|
product_types:
|
|
description: >-
|
|
product types associated with this condition if type =
|
|
product_types. Available if the relation `product_types` is
|
|
expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A product type object.
|
|
product_tags:
|
|
description: >-
|
|
product tags associated with this condition if type = product_tags.
|
|
Available if the relation `product_tags` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A product tag object.
|
|
product_collections:
|
|
description: >-
|
|
product collections associated with this condition if type =
|
|
product_collections. Available if the relation `product_collections`
|
|
is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A product collection object.
|
|
customer_groups:
|
|
description: >-
|
|
customer groups associated with this condition if type =
|
|
customer_groups. Available if the relation `customer_groups` is
|
|
expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A customer group object.
|
|
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
|
|
DiscountRule:
|
|
title: Discount Rule
|
|
description: >-
|
|
Holds the rules that governs how a Discount is calculated when applied
|
|
to a Cart.
|
|
type: object
|
|
required:
|
|
- type
|
|
- value
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The discount rule's ID
|
|
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
|
|
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.
|
|
type: string
|
|
enum:
|
|
- total
|
|
- item
|
|
example: total
|
|
conditions:
|
|
description: >-
|
|
A set of conditions that can be used to limit when the discount can
|
|
be used. Available if the relation `conditions` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A discount condition object.
|
|
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
|
|
Discount:
|
|
title: Discount
|
|
description: >-
|
|
Represents a discount that can be applied to a cart for promotional
|
|
purposes.
|
|
type: object
|
|
required:
|
|
- code
|
|
- is_dynamic
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The discount's ID
|
|
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:
|
|
type: string
|
|
description: The Discount Rule that governs the behaviour of the Discount
|
|
example: dru_01F0YESMVK96HVX7N419E3CJ7C
|
|
rule:
|
|
description: Available if the relation `rule` is expanded.
|
|
$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:
|
|
type: string
|
|
description: >-
|
|
The Discount that the discount was created from. This will always be
|
|
a dynamic discount
|
|
example: disc_01G8ZH853YPY9B94857DY91YGW
|
|
parent_discount:
|
|
description: Available if the relation `parent_discount` is expanded.
|
|
$ref: '#/components/schemas/Discount'
|
|
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.
|
|
type: string
|
|
format: date-time
|
|
valid_duration:
|
|
type: string
|
|
description: Duration the discount runs between
|
|
example: P3Y6M4DT12H30M5S
|
|
regions:
|
|
description: >-
|
|
The Regions in which the Discount can be used. Available if the
|
|
relation `regions` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A region object.
|
|
usage_limit:
|
|
description: The maximum number of times that a discount can be used.
|
|
type: integer
|
|
example: 100
|
|
usage_count:
|
|
description: The number of times a discount has been used.
|
|
type: integer
|
|
example: 50
|
|
default: 0
|
|
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
|
|
DraftOrder:
|
|
title: DraftOrder
|
|
description: Represents a draft order
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The draft order's ID
|
|
example: dorder_01G8TJFKBG38YYFQ035MSVG03C
|
|
status:
|
|
type: string
|
|
description: The status of the draft order
|
|
enum:
|
|
- open
|
|
- completed
|
|
default: open
|
|
display_id:
|
|
type: string
|
|
description: The draft order's display ID
|
|
example: 2
|
|
cart_id:
|
|
type: string
|
|
description: The ID of the cart associated with the draft order.
|
|
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
cart:
|
|
description: A cart object. Available if the relation `cart` is expanded.
|
|
type: object
|
|
order_id:
|
|
type: string
|
|
description: The ID of the order associated with the draft order.
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
type: object
|
|
canceled_at:
|
|
type: string
|
|
description: The date the draft order was canceled at.
|
|
format: date-time
|
|
completed_at:
|
|
type: string
|
|
description: The date the draft order was completed at.
|
|
format: date-time
|
|
no_notification_order:
|
|
type: boolean
|
|
description: Whether to send the customer notifications regarding order updates.
|
|
example: false
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of the cart
|
|
associated with the draft order in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
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
|
|
FulfillmentItem:
|
|
title: Fulfillment Item
|
|
description: >-
|
|
Correlates a Line Item with a Fulfillment, keeping track of the quantity
|
|
of the Line Item.
|
|
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: >-
|
|
A fulfillment object. Available if the relation `fulfillment` is
|
|
expanded.
|
|
type: object
|
|
item:
|
|
description: Available if the relation `item` is expanded.
|
|
$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: >-
|
|
Represents a fulfillment provider plugin and holds its installation
|
|
status.
|
|
type: object
|
|
properties:
|
|
id:
|
|
description: The id of the fulfillment provider as given by the plugin.
|
|
type: string
|
|
example: manual
|
|
is_installed:
|
|
description: >-
|
|
Whether the plugin is installed in the current version. Plugins that
|
|
are no longer installed are not deleted by will have this field set
|
|
to `false`.
|
|
type: boolean
|
|
example: true
|
|
Fulfillment:
|
|
title: Fulfillment
|
|
description: >-
|
|
Fulfillments are created once store operators can prepare the purchased
|
|
goods. Fulfillments will eventually be shipped and hold information
|
|
about how to track shipments. Fulfillments are created through a
|
|
provider, which is typically an external shipping aggregator, shipping
|
|
partner og 3PL, most plugins will have asynchronous communications with
|
|
these providers through webhooks in order to automatically update and
|
|
synchronize the state of Fulfillments.
|
|
type: object
|
|
required:
|
|
- provider_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The cart's ID
|
|
example: ful_01G8ZRTMQCA76TXNAT81KPJZRF
|
|
claim_order_id:
|
|
description: The id of the Claim that the Fulfillment belongs to.
|
|
type: string
|
|
example: null
|
|
claim_order:
|
|
description: >-
|
|
A claim order object. Available if the relation `claim_order` is
|
|
expanded.
|
|
type: object
|
|
swap_id:
|
|
description: The id of the Swap that the Fulfillment belongs to.
|
|
type: string
|
|
example: null
|
|
swap:
|
|
description: A swap object. Available if the relation `swap` is expanded.
|
|
type: object
|
|
order_id:
|
|
description: The id of the Order that the Fulfillment belongs to.
|
|
type: string
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
type: object
|
|
provider_id:
|
|
description: >-
|
|
The id of the Fulfillment Provider responsible for handling the
|
|
fulfillment
|
|
type: string
|
|
example: manual
|
|
provider:
|
|
description: Available if the relation `provider` is expanded.
|
|
$ref: '#/components/schemas/FulfillmentProvider'
|
|
items:
|
|
description: >-
|
|
The Fulfillment Items in the Fulfillment - these hold information
|
|
about how many of each Line Item has been fulfilled. Available if
|
|
the relation `items` is expanded.
|
|
type: array
|
|
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. Available if the relation `tracking_links` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TrackingLink'
|
|
tracking_numbers:
|
|
deprecated: true
|
|
description: >-
|
|
The tracking numbers that can be used to track the status of the
|
|
fulfillment.
|
|
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.
|
|
type: string
|
|
format: date-time
|
|
no_notification:
|
|
description: >-
|
|
Flag for describing whether or not notifications related to this
|
|
should be send.
|
|
type: boolean
|
|
example: false
|
|
canceled_at:
|
|
description: The date with timezone at which the Fulfillment was canceled.
|
|
type: string
|
|
format: date-time
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of the
|
|
fulfillment in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
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
|
|
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:
|
|
- gift_card_id
|
|
- amount
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The gift card transaction's ID
|
|
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: >-
|
|
A gift card object. Available if the relation `gift_card` is
|
|
expanded.
|
|
type: object
|
|
order_id:
|
|
description: The ID of the Order that the Gift Card was used to pay for.
|
|
type: string
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
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.
|
|
type: boolean
|
|
example: false
|
|
tax_rate:
|
|
description: The tax rate of the transaction
|
|
type: number
|
|
example: 0
|
|
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:
|
|
- code
|
|
- value
|
|
- balance
|
|
- region_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The cart's ID
|
|
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:
|
|
type: string
|
|
description: The id of the Region in which the Gift Card is available.
|
|
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
|
region:
|
|
description: A region object. Available if the relation `region` is expanded.
|
|
type: object
|
|
order_id:
|
|
type: string
|
|
description: The id of the Order that the Gift Card was purchased in.
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
type: object
|
|
is_disabled:
|
|
description: >-
|
|
Whether the Gift Card has been disabled. Disabled Gift Cards cannot
|
|
be applied to carts.
|
|
type: boolean
|
|
example: false
|
|
ends_at:
|
|
description: The time at which the Gift Card can no longer be used.
|
|
type: string
|
|
format: date-time
|
|
tax_rate:
|
|
description: The gift cards's tax rate that will be applied on calculating totals
|
|
type: number
|
|
example: 0
|
|
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
|
|
IdempotencyKey:
|
|
title: Idempotency Key
|
|
description: >-
|
|
Idempotency Key is used to continue a process in case of any failure
|
|
that might occur.
|
|
type: object
|
|
required:
|
|
- idempotency_key
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The idempotency key's ID
|
|
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/advanced/backend/payment/overview#idempotency-key
|
|
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.
|
|
type: string
|
|
format: date-time
|
|
request_method:
|
|
description: The method of the request
|
|
type: string
|
|
example: POST
|
|
request_params:
|
|
type: object
|
|
description: The parameters passed to the request
|
|
example:
|
|
id: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
request_path:
|
|
description: The request's path
|
|
type: string
|
|
example: /store/carts/cart_01G8ZH853Y6TFXWPG5EYE81X63/complete
|
|
response_code:
|
|
type: string
|
|
description: The response's code.
|
|
example: 200
|
|
response_body:
|
|
type: object
|
|
description: The response's body
|
|
example:
|
|
id: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
recovery_point:
|
|
type: string
|
|
description: Where to continue from.
|
|
default: started
|
|
Image:
|
|
title: Image
|
|
description: Images holds a reference to a URL at which the image file can be found.
|
|
type: object
|
|
required:
|
|
- 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:
|
|
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
|
|
Invite:
|
|
title: Invite
|
|
description: Represents an invite
|
|
type: object
|
|
required:
|
|
- user_email
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The invite's ID
|
|
example: invite_01G8TKE4XYCTHSCK2GDEP47RE1
|
|
user_email:
|
|
type: string
|
|
description: The email of the user being invited.
|
|
format: email
|
|
role:
|
|
type: string
|
|
description: The user's role.
|
|
enum:
|
|
- admin
|
|
- member
|
|
- developer
|
|
default: member
|
|
accepted:
|
|
type: boolean
|
|
description: Whether the invite was accepted or not.
|
|
example: false
|
|
token:
|
|
type: string
|
|
description: The token used to accept the invite.
|
|
expores_at:
|
|
type: string
|
|
description: The date the invite expires at.
|
|
format: date-time
|
|
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
|
|
LineItemAdjustment:
|
|
title: Line Item Adjustment
|
|
description: Represents a Line Item Adjustment
|
|
type: object
|
|
required:
|
|
- item_id
|
|
- description
|
|
- amount
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The invite's ID
|
|
example: lia_01G8TKE4XYCTHSCK2GDEP47RE1
|
|
item_id:
|
|
type: string
|
|
description: The ID of the line item
|
|
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
|
item:
|
|
description: Available if the relation `item` is expanded.
|
|
$ref: '#/components/schemas/LineItem'
|
|
description:
|
|
type: string
|
|
description: The line item's adjustment description
|
|
example: Adjusted item's price.
|
|
discount_id:
|
|
type: string
|
|
description: The ID of the discount associated with the adjustment
|
|
example: disc_01F0YESMW10MGHWJKZSDDMN0VN
|
|
discount:
|
|
description: Available if the relation `discount` is expanded.
|
|
$ref: '#/components/schemas/Discount'
|
|
amount:
|
|
type: number
|
|
description: The adjustment amount
|
|
example: 1000
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
LineItemTaxLine:
|
|
title: Line Item Tax Line
|
|
description: Represents a Line Item Tax Line
|
|
type: object
|
|
required:
|
|
- item_id
|
|
- rate
|
|
- name
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The line item tax line's ID
|
|
example: litl_01G1G5V2DRX1SK6NQQ8VVX4HQ8
|
|
item_id:
|
|
type: string
|
|
description: The ID of the line item
|
|
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
|
item:
|
|
description: Available if the relation `item` is expanded.
|
|
$ref: '#/components/schemas/LineItem'
|
|
code:
|
|
description: A code to identify the tax type by
|
|
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:
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
LineItem:
|
|
title: Line Item
|
|
description: >-
|
|
Line Items represent purchasable units that can be added to a Cart for
|
|
checkout. When Line Items are purchased they will get copied to the
|
|
resulting order and can eventually be referenced in Fulfillments and
|
|
Returns. Line Items may also be created when processing Swaps and
|
|
Claims.
|
|
type: object
|
|
required:
|
|
- title
|
|
- unit_price
|
|
- quantity
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The cart's ID
|
|
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
|
cart_id:
|
|
description: The ID of the Cart that the Line Item belongs to.
|
|
type: string
|
|
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
cart:
|
|
description: A cart object. Available if the relation `cart` is expanded.
|
|
type: object
|
|
order_id:
|
|
description: The ID of the Order that the Line Item belongs to.
|
|
type: string
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
type: object
|
|
swap_id:
|
|
description: The id of the Swap that the Line Item belongs to.
|
|
type: string
|
|
example: null
|
|
swap:
|
|
description: A swap object. Available if the relation `swap` is expanded.
|
|
type: object
|
|
claim_order_id:
|
|
description: The id of the Claim that the Line Item belongs to.
|
|
type: string
|
|
example: null
|
|
claim_order:
|
|
description: >-
|
|
A claim order object. Available if the relation `claim_order` is
|
|
expanded.
|
|
type: object
|
|
tax_lines:
|
|
description: Available if the relation `tax_lines` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/LineItemTaxLine'
|
|
adjustments:
|
|
description: Available if the relation `adjustments` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/LineItemAdjustment'
|
|
title:
|
|
description: >-
|
|
The title of the Line Item, this should be easily identifiable by
|
|
the Customer.
|
|
type: string
|
|
example: Medusa Coffee Mug
|
|
description:
|
|
description: A more detailed description of the contents of the Line Item.
|
|
type: string
|
|
example: One Size
|
|
thumbnail:
|
|
description: A URL string to a small image of the contents of the Line Item.
|
|
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
|
|
example: false
|
|
is_giftcard:
|
|
description: Flag to indicate if the Line Item is a Gift Card.
|
|
type: boolean
|
|
example: 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
|
|
example: false
|
|
allow_discounts:
|
|
description: >-
|
|
Flag to indicate if the Line Item should be included when doing
|
|
discount calculations.
|
|
type: boolean
|
|
example: false
|
|
has_shipping:
|
|
description: >-
|
|
Flag to indicate if the Line Item has fulfillment associated with
|
|
it.
|
|
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: boolean
|
|
example: 8000
|
|
variant_id:
|
|
description: The id of the Product Variant contained in the Line Item.
|
|
type: string
|
|
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
|
variant:
|
|
description: >-
|
|
A product variant object. The Product Variant contained in the Line
|
|
Item. Available if the relation `variant` is expanded.
|
|
type: object
|
|
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.
|
|
type: integer
|
|
example: 0
|
|
returned_quantity:
|
|
description: The quantity of the Line Item that has been returned.
|
|
type: integer
|
|
example: 0
|
|
shipped_quantity:
|
|
description: The quantity of the Line Item that has been shipped.
|
|
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:
|
|
type: integer
|
|
description: The subtotal of the line item
|
|
example: 8000
|
|
tax_total:
|
|
type: integer
|
|
description: The total of tax of the line item
|
|
example: 0
|
|
total:
|
|
type: integer
|
|
description: The total amount of the line item
|
|
example: 8000
|
|
original_total:
|
|
type: integer
|
|
description: The original total amount of the line item
|
|
example: 8000
|
|
original_tax_total:
|
|
type: integer
|
|
description: The original tax total amount of the line item
|
|
example: 0
|
|
discount_total:
|
|
type: integer
|
|
description: The total of discount of the line item
|
|
example: 0
|
|
gift_card_total:
|
|
type: integer
|
|
description: The total of the gift card of the line item
|
|
example: 0
|
|
includes_tax:
|
|
description: '[EXPERIMENTAL] Indicates if the line item unit_price include tax'
|
|
type: boolean
|
|
original_item_id:
|
|
description: '[EXPERIMENTAL] The id of the original line item'
|
|
type: string
|
|
order_edit_id:
|
|
description: >-
|
|
[EXPERIMENTAL] The ID of the order edit to which a cloned item
|
|
belongs
|
|
type: string
|
|
order_edit:
|
|
description: '[EXPERIMENTAL] The order edit joined'
|
|
type: object
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
MoneyAmount:
|
|
title: Money Amount
|
|
description: >-
|
|
Money Amounts represents an amount that a given Product Variant can be
|
|
purcased for. 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 Reigon.
|
|
type: object
|
|
required:
|
|
- currency_code
|
|
- amount
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The money amount's ID
|
|
example: ma_01F0YESHRFQNH5S8Q0PK84YYZN
|
|
currency_code:
|
|
description: The 3 character currency code that the Money Amount is given in.
|
|
type: string
|
|
example: usd
|
|
externalDocs:
|
|
url: 'https://en.wikipedia.org/wiki/ISO_4217#Active_codes'
|
|
description: See a list of codes.
|
|
currency:
|
|
description: Available if the relation `currency` is expanded.
|
|
$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.
|
|
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.
|
|
type: integer
|
|
example: 1
|
|
price_list_id:
|
|
type: string
|
|
description: The ID of the price list associated with the money amount
|
|
example: pl_01G8X3CKJXCG5VXVZ87H9KC09W
|
|
price_list:
|
|
description: Available if the relation `price_list` is expanded.
|
|
$ref: '#/components/schemas/PriceList'
|
|
variant_id:
|
|
description: The id of the Product Variant contained in the Line Item.
|
|
type: string
|
|
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
|
variant:
|
|
description: >-
|
|
The Product Variant contained in the Line Item. Available if the
|
|
relation `variant` is expanded.
|
|
type: object
|
|
region_id:
|
|
type: string
|
|
description: The region's ID
|
|
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
|
region:
|
|
description: A region object. Available if the relation `region` is expanded.
|
|
type: object
|
|
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
|
|
Note:
|
|
title: Note
|
|
description: >-
|
|
Notes are elements which we can use in association with different
|
|
resources to allow users to describe additional information in relation
|
|
to these.
|
|
type: object
|
|
required:
|
|
- value
|
|
- resource_type
|
|
- resource_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The note's ID
|
|
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:
|
|
type: string
|
|
description: The ID of the author (user)
|
|
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
|
author:
|
|
description: Available if the relation `author` is expanded.
|
|
$ref: '#/components/schemas/User'
|
|
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
|
|
NotificationProvider:
|
|
title: Notification Provider
|
|
description: >-
|
|
Represents a notification provider plugin and holds its installation
|
|
status.
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
description: The id of the notification provider as given by the plugin.
|
|
type: string
|
|
example: sendgrid
|
|
is_installed:
|
|
description: >-
|
|
Whether the plugin is installed in the current version. Plugins that
|
|
are no longer installed are not deleted by will have this field set
|
|
to `false`.
|
|
type: boolean
|
|
default: true
|
|
Notification:
|
|
title: Notification
|
|
description: >-
|
|
Notifications a communications sent via Notification Providers as a
|
|
reaction to internal events such as `order.placed`. Notifications can be
|
|
used to show a chronological timeline for communications sent to a
|
|
Customer regarding an Order, and enables resends.
|
|
type: object
|
|
required:
|
|
- resource_type
|
|
- resource_id
|
|
- to
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The notification's ID
|
|
example: noti_01G53V9Y6CKMCGBM1P0X7C28RX
|
|
event_name:
|
|
description: The name of the event that the notification was sent for.
|
|
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 the Notification was sent to.
|
|
type: string
|
|
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
|
customer:
|
|
description: A customer object. Available if the relation `customer` is expanded.
|
|
type: object
|
|
to:
|
|
description: >-
|
|
The address that the Notification was sent to. This will usually be
|
|
an email address, but 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: {}
|
|
resends:
|
|
description: >-
|
|
The resends that have been completed after the original
|
|
Notification.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/NotificationResend'
|
|
provider_id:
|
|
description: The id of the Notification Provider that handles the Notification.
|
|
type: string
|
|
example: sengrid
|
|
provider:
|
|
description: Available if the relation `provider` is expanded.
|
|
$ref: '#/components/schemas/NotificationProvider'
|
|
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
|
|
NotificationResend:
|
|
title: Notification Resend
|
|
description: A resend of a Notification.
|
|
type: object
|
|
properties:
|
|
id:
|
|
description: The notification resend's ID
|
|
type: string
|
|
example: noti_01F0YET45G9NHP08Z66CE4QKBS
|
|
event_name:
|
|
description: The name of the event that the notification was sent for.
|
|
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 the Notification was sent to.
|
|
type: string
|
|
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
|
customer:
|
|
description: A customer object. Available if the relation `customer` is expanded.
|
|
type: object
|
|
to:
|
|
description: >-
|
|
The address that the Notification was sent to. This will usually be
|
|
an email address, but 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 ID of the Notification that was originally sent.
|
|
type: string
|
|
example: noti_01G53V9Y6CKMCGBM1P0X7C28RX
|
|
parent_notification:
|
|
description: Available if the relation `parent_notification` is expanded.
|
|
$ref: '#/components/schemas/Notification'
|
|
provider_id:
|
|
description: The ID of the Notification Provider that handles the Notification.
|
|
type: string
|
|
example: sengrid
|
|
provider:
|
|
description: Available if the relation `provider` is expanded.
|
|
$ref: '#/components/schemas/NotificationProvider'
|
|
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
|
|
OAuth:
|
|
title: OAuth
|
|
description: Represent an OAuth app
|
|
type: object
|
|
required:
|
|
- id
|
|
- display_name
|
|
- application_name
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The app's ID
|
|
example: example_app
|
|
display_name:
|
|
type: string
|
|
description: The app's display name
|
|
example: Example app
|
|
application_name:
|
|
type: string
|
|
description: The app's name
|
|
example: example
|
|
install_url:
|
|
type: string
|
|
description: The URL to install the app
|
|
format: uri
|
|
uninstall_url:
|
|
type: string
|
|
description: The URL to uninstall the app
|
|
format: uri
|
|
data:
|
|
type: object
|
|
description: Any data necessary to the app.
|
|
example: {}
|
|
OrderEdit:
|
|
title: Order Edit
|
|
description: Order edit keeps track of order items changes.
|
|
type: object
|
|
required:
|
|
- order_id
|
|
- order
|
|
- changes
|
|
- created_by
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The order edit's ID
|
|
example: oe_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order_id:
|
|
type: string
|
|
description: The ID of the order that is edited
|
|
example: order_01G2SG30J8C85S4A5CHM2S1NS2
|
|
order:
|
|
description: Available if the relation `order` is expanded.
|
|
$ref: '#/components/schemas/Order'
|
|
changes:
|
|
type: array
|
|
description: Available if the relation `changes` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/OrderItemChange'
|
|
internal_note:
|
|
description: An optional note with additional details about the order edit.
|
|
type: string
|
|
example: Included two more items B to the order.
|
|
created_by:
|
|
type: string
|
|
description: >-
|
|
The unique identifier of the user or customer who created the order
|
|
edit.
|
|
requested_by:
|
|
type: string
|
|
description: >-
|
|
The unique identifier of the user or customer who requested the
|
|
order edit.
|
|
requested_at:
|
|
type: string
|
|
description: The date with timezone at which the edit was requested.
|
|
format: date-time
|
|
confirmed_by:
|
|
type: string
|
|
description: >-
|
|
The unique identifier of the user or customer who confirmed the
|
|
order edit.
|
|
confirmed_at:
|
|
type: string
|
|
description: The date with timezone at which the edit was confirmed.
|
|
format: date-time
|
|
declined_by:
|
|
type: string
|
|
description: >-
|
|
The unique identifier of the user or customer who declined the order
|
|
edit.
|
|
declined_at:
|
|
type: string
|
|
description: The date with timezone at which the edit was declined.
|
|
format: date-time
|
|
declined_reason:
|
|
description: An optional note why the order edit is declined.
|
|
type: string
|
|
subtotal:
|
|
type: integer
|
|
description: The total of subtotal
|
|
example: 8000
|
|
discount_total:
|
|
type: integer
|
|
description: The total of discount
|
|
example: 800
|
|
shipping_total:
|
|
type: integer
|
|
description: The total of the shipping amount
|
|
example: 800
|
|
gift_card_total:
|
|
type: integer
|
|
description: The total of the gift card amount
|
|
example: 800
|
|
gift_card_tax_total:
|
|
type: integer
|
|
description: The total of the gift card tax amount
|
|
example: 800
|
|
tax_total:
|
|
type: integer
|
|
description: The total of tax
|
|
example: 0
|
|
total:
|
|
type: integer
|
|
description: The total amount of the edited order.
|
|
example: 8200
|
|
difference_due:
|
|
type: integer
|
|
description: >-
|
|
The difference between the total amount of the order and total
|
|
amount of edited order.
|
|
example: 8200
|
|
status:
|
|
type: string
|
|
description: The status of the order edit.
|
|
enum:
|
|
- confirmed
|
|
- declined
|
|
- requested
|
|
- created
|
|
- canceled
|
|
items:
|
|
type: array
|
|
description: Available if the relation `items` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/LineItem'
|
|
payment_collection_id:
|
|
type: string
|
|
description: The ID of the payment collection
|
|
example: paycol_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
payment_collection:
|
|
description: Available if the relation `payment_collection` is expanded.
|
|
$ref: '#/components/schemas/PaymentCollection'
|
|
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
|
|
OrderItemChange:
|
|
title: Order Item Change
|
|
description: Represents an order edit item change
|
|
type: object
|
|
required:
|
|
- type
|
|
- order_edit_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The order item change's ID
|
|
example: oic_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
type:
|
|
type: string
|
|
description: The order item change's status
|
|
enum:
|
|
- item_add
|
|
- item_remove
|
|
- item_update
|
|
order_edit_id:
|
|
type: string
|
|
description: The ID of the order edit
|
|
example: oe_01G2SG30J8C85S4A5CHM2S1NS2
|
|
order_edit:
|
|
description: Available if the relation `order_edit` is expanded.
|
|
$ref: '#/components/schemas/OrderEdit'
|
|
original_line_item_id:
|
|
type: string
|
|
description: The ID of the original line item in the order
|
|
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
|
original_line_item:
|
|
description: Available if the relation `original_line_item` is expanded.
|
|
$ref: '#/components/schemas/LineItem'
|
|
line_item_id:
|
|
type: string
|
|
description: The ID of the cloned line item.
|
|
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
|
line_item:
|
|
description: Available if the relation `line_item` is expanded.
|
|
$ref: '#/components/schemas/LineItem'
|
|
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
|
|
Order:
|
|
title: Order
|
|
description: Represents an order
|
|
type: object
|
|
required:
|
|
- customer_id
|
|
- email
|
|
- region_id
|
|
- currency_code
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The order's ID
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
status:
|
|
type: string
|
|
description: The order's status
|
|
enum:
|
|
- pending
|
|
- completed
|
|
- archived
|
|
- canceled
|
|
- requires_action
|
|
default: pending
|
|
fulfillment_status:
|
|
type: string
|
|
description: The order's fulfillment status
|
|
enum:
|
|
- not_fulfilled
|
|
- partially_fulfilled
|
|
- fulfilled
|
|
- partially_shipped
|
|
- shipped
|
|
- partially_returned
|
|
- returned
|
|
- canceled
|
|
- requires_action
|
|
default: not_fulfilled
|
|
payment_status:
|
|
type: string
|
|
description: The order's payment status
|
|
enum:
|
|
- not_paid
|
|
- awaiting
|
|
- captured
|
|
- partially_refunded
|
|
- refuneded
|
|
- canceled
|
|
- requires_action
|
|
default: not_paid
|
|
display_id:
|
|
type: integer
|
|
description: The order's display ID
|
|
example: 2
|
|
cart_id:
|
|
type: string
|
|
description: The ID of the cart associated with the order
|
|
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
cart:
|
|
description: A cart object. Available if the relation `cart` is expanded.
|
|
type: object
|
|
customer_id:
|
|
type: string
|
|
description: The ID of the customer associated with the order
|
|
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
|
customer:
|
|
description: A customer object. Available if the relation `customer` is expanded.
|
|
type: object
|
|
email:
|
|
description: The email associated with the order
|
|
type: string
|
|
format: email
|
|
billing_address_id:
|
|
type: string
|
|
description: The ID of the billing address associated with the order
|
|
example: addr_01G8ZH853YPY9B94857DY91YGW
|
|
billing_address:
|
|
description: Available if the relation `billing_address` is expanded.
|
|
$ref: '#/components/schemas/Address'
|
|
shipping_address_id:
|
|
type: string
|
|
description: The ID of the shipping address associated with the order
|
|
example: addr_01G8ZH853YPY9B94857DY91YGW
|
|
shipping_address:
|
|
description: Available if the relation `shipping_address` is expanded.
|
|
$ref: '#/components/schemas/Address'
|
|
region_id:
|
|
type: string
|
|
description: The region's ID
|
|
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
|
region:
|
|
description: A region object. Available if the relation `region` is expanded.
|
|
type: object
|
|
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: Available if the relation `currency` is expanded.
|
|
$ref: '#/components/schemas/Currency'
|
|
tax_rate:
|
|
description: The order's tax rate
|
|
type: number
|
|
example: 0
|
|
discounts:
|
|
type: array
|
|
description: >-
|
|
The discounts used in the order. Available if the relation
|
|
`discounts` is expanded.
|
|
items:
|
|
type: object
|
|
description: A discount object.
|
|
gift_cards:
|
|
type: array
|
|
description: >-
|
|
The gift cards used in the order. Available if the relation
|
|
`gift_cards` is expanded.
|
|
items:
|
|
type: object
|
|
description: A gift card object.
|
|
shipping_methods:
|
|
type: array
|
|
description: >-
|
|
The shipping methods used in the order. Available if the relation
|
|
`shipping_methods` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/ShippingMethod'
|
|
payments:
|
|
type: array
|
|
description: >-
|
|
The payments used in the order. Available if the relation `payments`
|
|
is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/Payment'
|
|
fulfillments:
|
|
type: array
|
|
description: >-
|
|
The fulfillments used in the order. Available if the relation
|
|
`fulfillments` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/Fulfillment'
|
|
returns:
|
|
type: array
|
|
description: >-
|
|
The returns associated with the order. Available if the relation
|
|
`returns` is expanded.
|
|
items:
|
|
type: object
|
|
description: A return object.
|
|
claims:
|
|
type: array
|
|
description: >-
|
|
The claims associated with the order. Available if the relation
|
|
`claims` is expanded.
|
|
items:
|
|
type: object
|
|
description: A claim order object.
|
|
refunds:
|
|
type: array
|
|
description: >-
|
|
The refunds associated with the order. Available if the relation
|
|
`refunds` is expanded.
|
|
items:
|
|
type: object
|
|
description: A refund object.
|
|
swaps:
|
|
type: array
|
|
description: >-
|
|
The swaps associated with the order. Available if the relation
|
|
`swaps` is expanded.
|
|
items:
|
|
type: object
|
|
description: A swap object.
|
|
draft_order_id:
|
|
type: string
|
|
description: The ID of the draft order this order is associated with.
|
|
example: null
|
|
draft_order:
|
|
description: >-
|
|
A draft order object. Available if the relation `draft_order` is
|
|
expanded.
|
|
type: object
|
|
items:
|
|
type: array
|
|
description: >-
|
|
The line items that belong to the order. Available if the relation
|
|
`items` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/LineItem'
|
|
edits:
|
|
type: array
|
|
description: >-
|
|
[EXPERIMENTAL] Order edits done on the order. Available if the
|
|
relation `edits` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/OrderEdit'
|
|
gift_card_transactions:
|
|
type: array
|
|
description: >-
|
|
The gift card transactions used in the order. Available if the
|
|
relation `gift_card_transactions` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/GiftCardTransaction'
|
|
canceled_at:
|
|
type: string
|
|
description: The date the order was canceled on.
|
|
format: date-time
|
|
no_notification:
|
|
description: >-
|
|
Flag for describing whether or not notifications related to this
|
|
should be send.
|
|
type: boolean
|
|
example: false
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the processing of the order
|
|
in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
external_id:
|
|
description: The ID of an external order.
|
|
type: string
|
|
example: null
|
|
sales_channel_id:
|
|
type: string
|
|
description: The ID of the sales channel this order is associated with.
|
|
example: null
|
|
sales_channel:
|
|
description: >-
|
|
A sales channel object. Available if the relation `sales_channel` is
|
|
expanded.
|
|
type: object
|
|
shipping_total:
|
|
type: integer
|
|
description: The total of shipping
|
|
example: 1000
|
|
discount_total:
|
|
type: integer
|
|
description: The total of discount
|
|
example: 800
|
|
tax_total:
|
|
type: integer
|
|
description: The total of tax
|
|
example: 0
|
|
refunded_total:
|
|
type: integer
|
|
description: The total amount refunded if the order is returned.
|
|
example: 0
|
|
total:
|
|
type: integer
|
|
description: The total amount of the order
|
|
example: 8200
|
|
subtotal:
|
|
type: integer
|
|
description: The subtotal of the order
|
|
example: 8000
|
|
paid_total:
|
|
type: integer
|
|
description: The total amount paid
|
|
example: 8000
|
|
refundable_amount:
|
|
type: integer
|
|
description: The amount that can be refunded
|
|
example: 8200
|
|
gift_card_total:
|
|
type: integer
|
|
description: The total of gift cards
|
|
example: 0
|
|
gift_card_tax_total:
|
|
type: integer
|
|
description: The total of gift cards with taxes
|
|
example: 0
|
|
PaymentCollection:
|
|
title: Payment Collection
|
|
description: Payment Collection
|
|
type: object
|
|
required:
|
|
- type
|
|
- status
|
|
- amount
|
|
- region_id
|
|
- currency_code
|
|
- created_by
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The payment collection's ID
|
|
example: paycol_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
type:
|
|
type: string
|
|
description: The type of the payment collection
|
|
enum:
|
|
- order_edit
|
|
status:
|
|
type: string
|
|
description: The type of the payment collection
|
|
enum:
|
|
- not_paid
|
|
- awaiting
|
|
- authorized
|
|
- partially_authorized
|
|
- canceled
|
|
description:
|
|
type: string
|
|
description: Description of the payment collection
|
|
amount:
|
|
type: number
|
|
description: Amount of the payment collection.
|
|
authorized_amount:
|
|
type: number
|
|
description: Authorized amount of the payment collection.
|
|
region_id:
|
|
type: string
|
|
description: The region's ID
|
|
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
|
region:
|
|
description: Available if the relation `region` is expanded.
|
|
$ref: '#/components/schemas/Region'
|
|
currency_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.
|
|
currency:
|
|
description: Available if the relation `currency` is expanded.
|
|
$ref: '#/components/schemas/Currency'
|
|
payment_sessions:
|
|
type: array
|
|
description: Available if the relation `payment_sessions` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/PaymentSession'
|
|
payments:
|
|
type: array
|
|
description: Available if the relation `payments` is expanded.
|
|
items:
|
|
$ref: '#/components/schemas/Payment'
|
|
created_by:
|
|
type: string
|
|
description: The ID of the user that created the payment collection.
|
|
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
|
|
PaymentProvider:
|
|
title: Payment Provider
|
|
description: Represents a Payment Provider plugin and holds its installation status.
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
description: The id of the payment provider as given by the plugin.
|
|
type: string
|
|
example: manual
|
|
is_installed:
|
|
description: >-
|
|
Whether the plugin is installed in the current version. Plugins that
|
|
are no longer installed are not deleted by will have this field set
|
|
to `false`.
|
|
type: boolean
|
|
default: true
|
|
PaymentSession:
|
|
title: Payment Session
|
|
description: >-
|
|
Payment Sessions are 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, who 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 capture/refunds/etc.
|
|
type: object
|
|
required:
|
|
- cart_id
|
|
- provider_id
|
|
- status
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The payment session's ID
|
|
example: ps_01G901XNSRM2YS3ASN9H5KG3FZ
|
|
cart_id:
|
|
description: The id of the Cart that the Payment Session is created for.
|
|
type: string
|
|
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
cart:
|
|
description: A cart object. Available if the relation `cart` is expanded.
|
|
type: object
|
|
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.
|
|
type: boolean
|
|
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:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of a cart in
|
|
case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
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
|
|
Payment:
|
|
title: Payment
|
|
description: >-
|
|
Payments represent an amount authorized with a given payment method,
|
|
Payments can be captured, canceled or refunded.
|
|
type: object
|
|
required:
|
|
- amount
|
|
- currency_code
|
|
- provider_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The payment's ID
|
|
example: pay_01G2SJNT6DEEWDFNAJ4XWDTHKE
|
|
swap_id:
|
|
description: The ID of the Swap that the Payment is used for.
|
|
type: string
|
|
example: null
|
|
swap:
|
|
description: A swap object. Available if the relation `swap` is expanded.
|
|
type: object
|
|
cart_id:
|
|
description: The id of the Cart that the Payment Session is created for.
|
|
type: string
|
|
cart:
|
|
description: A cart object. Available if the relation `cart` is expanded.
|
|
type: object
|
|
order_id:
|
|
description: The ID of the Order that the Payment is used for.
|
|
type: string
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
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 that the Payment is completed in.
|
|
type: string
|
|
example: usd
|
|
externalDocs:
|
|
url: 'https://en.wikipedia.org/wiki/ISO_4217#Active_codes'
|
|
description: See a list of codes.
|
|
currency:
|
|
description: Available if the relation `currency` is expanded.
|
|
$ref: '#/components/schemas/Currency'
|
|
amount_refunded:
|
|
description: >-
|
|
The amount of the original Payment amount that has been refunded
|
|
back to the Customer.
|
|
type: integer
|
|
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.
|
|
type: string
|
|
format: date-time
|
|
canceled_at:
|
|
description: The date with timezone at which the Payment was canceled.
|
|
type: string
|
|
format: date-time
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of a payment
|
|
in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
PriceList:
|
|
title: Price List
|
|
description: >-
|
|
Price Lists represents a set of prices that overrides the default price
|
|
for one or more product variants.
|
|
type: object
|
|
required:
|
|
- name
|
|
- description
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The price list's ID
|
|
example: pl_01G8X3CKJXCG5VXVZ87H9KC09W
|
|
name:
|
|
type: string
|
|
description: The price list's name
|
|
example: VIP Prices
|
|
description:
|
|
type: string
|
|
description: The price list's description
|
|
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.
|
|
type: string
|
|
format: date-time
|
|
ends_at:
|
|
description: The date with timezone that the Price List stops being valid.
|
|
type: string
|
|
format: date-time
|
|
customer_groups:
|
|
description: >-
|
|
The Customer Groups that the Price List applies to. Available if the
|
|
relation `customer_groups` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A customer group object.
|
|
prices:
|
|
description: >-
|
|
The Money Amounts that are associated with the Price List. Available
|
|
if the relation `prices` is expanded.
|
|
type: array
|
|
items:
|
|
oneOf:
|
|
- $ref: '#/components/schemas/MoneyAmount'
|
|
- $ref: '#/components/schemas/CustomerGroup'
|
|
includes_tax:
|
|
description: '[EXPERIMENTAL] Does the price list prices include tax'
|
|
type: boolean
|
|
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
|
|
ProductCollection:
|
|
title: Product Collection
|
|
description: Product Collections represents a group of Products that are related.
|
|
type: object
|
|
required:
|
|
- title
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The product collection's ID
|
|
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.
|
|
type: string
|
|
example: summer-collection
|
|
products:
|
|
description: >-
|
|
The Products contained in the Product Collection. Available if the
|
|
relation `products` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A product collection object.
|
|
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
|
|
ProductOptionValue:
|
|
title: Product Option Value
|
|
description: >-
|
|
A value given to a Product Variant's option set. Product Variant have a
|
|
Product Option Value for each of the Product Options defined on the
|
|
Product.
|
|
type: object
|
|
required:
|
|
- value
|
|
- option_id
|
|
- variant_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The product option value's ID
|
|
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 is
|
|
defined for.
|
|
type: string
|
|
example: opt_01F0YESHQBZVKCEXJ24BS6PCX3
|
|
option:
|
|
description: Available if the relation `option` is expanded.
|
|
$ref: '#/components/schemas/ProductOption'
|
|
variant_id:
|
|
description: >-
|
|
The ID of the Product Variant that the Product Option Value is
|
|
defined for.
|
|
type: string
|
|
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
|
variant:
|
|
description: Available if the relation `variant` is expanded.
|
|
$ref: '#/components/schemas/ProductVariant'
|
|
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
|
|
ProductOption:
|
|
title: Product Option
|
|
description: >-
|
|
Product Options define properties that may vary between different
|
|
variants of a Product. Common Product Options are "Size" and "Color",
|
|
but Medusa doesn't limit what Product Options that can be defined.
|
|
type: object
|
|
required:
|
|
- title
|
|
- product_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The product option's ID
|
|
example: opt_01F0YESHQBZVKCEXJ24BS6PCX3
|
|
title:
|
|
description: The title that the Product Option is defined by (e.g. "Size").
|
|
type: string
|
|
example: Size
|
|
values:
|
|
description: >-
|
|
The Product Option Values that are defined for the Product Option.
|
|
Available if the relation `values` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ProductOptionValue'
|
|
product_id:
|
|
description: The ID of the Product that the Product Option is defined for.
|
|
type: string
|
|
example: prod_01G1G5V2MBA328390B5AXJ610F
|
|
product:
|
|
description: A product object. Available if the relation `product` is expanded.
|
|
type: object
|
|
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
|
|
ProductTag:
|
|
title: Product Tag
|
|
description: Product Tags can be added to Products for easy filtering and grouping.
|
|
type: object
|
|
required:
|
|
- value
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The product tag's ID
|
|
example: ptag_01G8K2MTMG9168F2B70S1TAVK3
|
|
value:
|
|
description: The value that the Product Tag represents
|
|
type: string
|
|
example: Pants
|
|
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
|
|
ProductTaxRate:
|
|
title: Product Tax Rate
|
|
description: >-
|
|
Associates a tax rate with a product to indicate that the product is
|
|
taxed in a certain way
|
|
type: object
|
|
required:
|
|
- product_id
|
|
- rate_id
|
|
properties:
|
|
product_id:
|
|
description: The ID of the Product
|
|
type: string
|
|
example: prod_01G1G5V2MBA328390B5AXJ610F
|
|
product:
|
|
description: Available if the relation `product` is expanded.
|
|
$ref: '#/components/schemas/Product'
|
|
rate_id:
|
|
description: The ID of the Tax Rate
|
|
type: string
|
|
example: txr_01G8XDBAWKBHHJRKH0AV02KXBR
|
|
tax_rate:
|
|
description: Available if the relation `tax_rate` is expanded.
|
|
$ref: '#/components/schemas/TaxRate'
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
ProductTypeTaxRate:
|
|
title: Product Type Tax Rate
|
|
description: >-
|
|
Associates a tax rate with a product type to indicate that the product
|
|
type is taxed in a certain way
|
|
type: object
|
|
required:
|
|
- product_type_id
|
|
- rate_id
|
|
properties:
|
|
product_type_id:
|
|
description: The ID of the Product type
|
|
type: string
|
|
example: ptyp_01G8X9A7ESKAJXG2H0E6F1MW7A
|
|
product_type:
|
|
description: Available if the relation `product_type` is expanded.
|
|
$ref: '#/components/schemas/ProductType'
|
|
rate_id:
|
|
description: The id of the Tax Rate
|
|
type: string
|
|
example: txr_01G8XDBAWKBHHJRKH0AV02KXBR
|
|
tax_rate:
|
|
description: Available if the relation `tax_rate` is expanded.
|
|
$ref: '#/components/schemas/TaxRate'
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
ProductType:
|
|
title: Product Type
|
|
description: >-
|
|
Product Type can be added to Products for filtering and reporting
|
|
purposes.
|
|
type: object
|
|
required:
|
|
- value
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The product type's ID
|
|
example: ptyp_01G8X9A7ESKAJXG2H0E6F1MW7A
|
|
value:
|
|
description: The value that the Product Type represents.
|
|
type: string
|
|
example: Clothing
|
|
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
|
|
ProductVariant:
|
|
title: Product Variant
|
|
description: >-
|
|
Product Variants represent 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.
|
|
type: object
|
|
required:
|
|
- title
|
|
- product_id
|
|
- inventory_quantity
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The product variant's ID
|
|
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: A product object. Available if the relation `product` is expanded.
|
|
type: object
|
|
prices:
|
|
description: >-
|
|
The Money Amounts defined for the Product Variant. Each Money Amount
|
|
represents a price in a given currency or a price in a specific
|
|
Region. Available if the relation `prices` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/MoneyAmount'
|
|
sku:
|
|
description: >-
|
|
The unique stock keeping unit used to identify the Product Variant.
|
|
This will usually be a unqiue identifer for the item that is to be
|
|
shipped, and can be referenced across multiple systems.
|
|
type: string
|
|
example: shirt-123
|
|
barcode:
|
|
description: >-
|
|
A generic field for a GTIN number that can be used to identify the
|
|
Product Variant.
|
|
type: string
|
|
example: null
|
|
ean:
|
|
description: >-
|
|
An EAN barcode number that can be used to identify the Product
|
|
Variant.
|
|
type: string
|
|
example: null
|
|
upc:
|
|
description: >-
|
|
A UPC barcode number that can be used to identify the Product
|
|
Variant.
|
|
type: string
|
|
example: null
|
|
variant_rank:
|
|
description: The ranking of this variant
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
type: string
|
|
example: null
|
|
weight:
|
|
description: >-
|
|
The weight of the Product Variant. May be used in shipping rate
|
|
calculations.
|
|
type: number
|
|
example: null
|
|
height:
|
|
description: >-
|
|
The height of the Product Variant. May be used in shipping rate
|
|
calculations.
|
|
type: number
|
|
example: null
|
|
width:
|
|
description: >-
|
|
The width of the Product Variant. May be used in shipping rate
|
|
calculations.
|
|
type: number
|
|
example: null
|
|
length:
|
|
description: >-
|
|
The length of the Product Variant. May be used in shipping rate
|
|
calculations.
|
|
type: number
|
|
example: null
|
|
options:
|
|
description: >-
|
|
The Product Option Values specified for the Product Variant.
|
|
Available if the relation `options` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ProductOptionValue'
|
|
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
|
|
ProductVariantPricesFields:
|
|
title: Product Variant Prices Fields
|
|
description: Product Variants Prices Fields that are only available in some requests.
|
|
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: >-
|
|
Products are a grouping of Product Variants that have common properties
|
|
such as images and descriptions. Products can have multiple options
|
|
which define the properties that Product Variants differ by.
|
|
type: object
|
|
required:
|
|
- title
|
|
- profile_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The product's ID
|
|
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.
|
|
type: string
|
|
description:
|
|
description: A short description of the Product.
|
|
type: string
|
|
example: Every programmer's best friend.
|
|
handle:
|
|
description: A unique identifier for the Product (e.g. for slug structure).
|
|
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: >-
|
|
Images of the Product. Available if the relation `images` is
|
|
expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Image'
|
|
thumbnail:
|
|
description: A URL to an image file that can be used to identify the Product.
|
|
type: string
|
|
format: uri
|
|
options:
|
|
description: >-
|
|
The Product Options that are defined for the Product. Product
|
|
Variants of the Product will have a unique combination of Product
|
|
Option Values. Available if the relation `options` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ProductOption'
|
|
variants:
|
|
description: >-
|
|
The Product Variants that belong to the Product. Each will have a
|
|
unique combination of Product Option Values. Available if the
|
|
relation `variants` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ProductVariant'
|
|
profile_id:
|
|
description: >-
|
|
The ID of the Shipping Profile that the Product belongs to. Shipping
|
|
Profiles have a set of defined Shipping Options that can be used to
|
|
Fulfill a given set of Products.
|
|
type: string
|
|
example: sp_01G1G5V239ENSZ5MV4JAR737BM
|
|
profile:
|
|
description: Available if the relation `profile` is expanded.
|
|
$ref: '#/components/schemas/ShippingProfile'
|
|
weight:
|
|
description: >-
|
|
The weight of the Product Variant. May be used in shipping rate
|
|
calculations.
|
|
type: number
|
|
example: null
|
|
height:
|
|
description: >-
|
|
The height of the Product Variant. May be used in shipping rate
|
|
calculations.
|
|
type: number
|
|
example: null
|
|
width:
|
|
description: >-
|
|
The width of the Product Variant. May be used in shipping rate
|
|
calculations.
|
|
type: number
|
|
example: null
|
|
length:
|
|
description: >-
|
|
The length of the Product Variant. May be used in shipping rate
|
|
calculations.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
type: string
|
|
example: null
|
|
collection_id:
|
|
type: string
|
|
description: The Product Collection that the Product belongs to
|
|
example: pcol_01F0YESBFAZ0DV6V831JXWH0BG
|
|
collection:
|
|
description: >-
|
|
A product collection object. Available if the relation `collection`
|
|
is expanded.
|
|
type: object
|
|
type_id:
|
|
type: string
|
|
description: The Product type that the Product belongs to
|
|
example: ptyp_01G8X9A7ESKAJXG2H0E6F1MW7A
|
|
type:
|
|
description: Available if the relation `type` is expanded.
|
|
$ref: '#/components/schemas/ProductType'
|
|
tags:
|
|
description: >-
|
|
The Product Tags assigned to the Product. Available if the relation
|
|
`tags` is expanded.
|
|
type: array
|
|
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
|
|
type: string
|
|
example: null
|
|
sales_channels:
|
|
description: >-
|
|
The sales channels the product is associated with. Available if the
|
|
relation `sales_channels` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A sales channel object.
|
|
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
|
|
PublishableApiKeySalesChannel:
|
|
title: Publishable API key sales channel
|
|
description: Holds mapping between Publishable API keys and Sales Channels
|
|
type: object
|
|
properties:
|
|
sales_channel_id:
|
|
type: string
|
|
description: The sales channel's ID
|
|
example: sc_01G1G5V21KADXNGH29BJMAJ4B4
|
|
publishable_key_id:
|
|
type: string
|
|
description: The publishable API key's ID
|
|
example: pak_01G1G5V21KADXNGH29BJMAJ4B4
|
|
PublishableApiKey:
|
|
title: Publishable API key
|
|
description: >-
|
|
Publishable API key defines scopes (i.e. resources) that are available
|
|
within a request.
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The key's ID
|
|
example: pk_01G1G5V27GYX4QXNARRQCW1N8T
|
|
created_by:
|
|
type: string
|
|
description: The unique identifier of the user that created the key.
|
|
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
|
created_by_user:
|
|
description: >-
|
|
A user object. Available if the relation `created_by_user` is
|
|
expanded.
|
|
type: object
|
|
created_at:
|
|
type: string
|
|
description: The date with timezone at which the resource was created.
|
|
format: date-time
|
|
revoked_by:
|
|
type: string
|
|
description: The unique identifier of the user that revoked the key.
|
|
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
|
revoked_by_user:
|
|
description: >-
|
|
A user object. Available if the relation `revoked_by_user` is
|
|
expanded.
|
|
type: object
|
|
revoked_at:
|
|
type: string
|
|
description: The date with timezone at which the key was revoked.
|
|
format: date-time
|
|
updated_at:
|
|
type: string
|
|
description: The date with timezone at which the resource was updated.
|
|
format: date-time
|
|
Refund:
|
|
title: Refund
|
|
description: >-
|
|
Refund represent 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 a store operator.
|
|
type: object
|
|
required:
|
|
- order_id
|
|
- amount
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The refund's ID
|
|
example: ref_01G1G5V27GYX4QXNARRQCW1N8T
|
|
order_id:
|
|
description: The id of the Order that the Refund is related to.
|
|
type: string
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
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.
|
|
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:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of the refund
|
|
in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
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
|
|
Region:
|
|
title: Region
|
|
description: >-
|
|
Regions hold settings for how Customers in a given geographical location
|
|
shop. The is, for example, where currencies and tax rates are defined. A
|
|
Region can consist of multiple countries to accomodate common shopping
|
|
settings across countries.
|
|
type: object
|
|
required:
|
|
- name
|
|
- currency_code
|
|
- tax_rate
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The region's ID
|
|
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 that the Region uses.
|
|
type: string
|
|
example: usd
|
|
externalDocs:
|
|
url: 'https://en.wikipedia.org/wiki/ISO_4217#Active_codes'
|
|
description: See a list of codes.
|
|
currency:
|
|
description: Available if the relation `currency` is expanded.
|
|
$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 tax rates that are included in the Region. Available if the
|
|
relation `tax_rates` is expanded.
|
|
type: array
|
|
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.
|
|
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 countries that are included in the Region. Available if the
|
|
relation `countries` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Country'
|
|
tax_provider_id:
|
|
type: string
|
|
description: The ID of the tax provider used in this region
|
|
example: null
|
|
tax_provider:
|
|
description: Available if the relation `tax_provider` is expanded.
|
|
$ref: '#/components/schemas/TaxProvider'
|
|
payment_providers:
|
|
description: >-
|
|
The Payment Providers that can be used to process Payments in the
|
|
Region. Available if the relation `payment_providers` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PaymentProvider'
|
|
fulfillment_providers:
|
|
description: >-
|
|
The Fulfillment Providers that can be used to fulfill orders in the
|
|
Region. Available if the relation `payment_providers` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FulfillmentProvider'
|
|
includes_tax:
|
|
description: '[EXPERIMENTAL] Does the prices for the region include tax'
|
|
type: boolean
|
|
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
|
|
ReturnItem:
|
|
title: Return Item
|
|
description: >-
|
|
Correlates a Line Item with a Return, keeping track of the quantity of
|
|
the Line Item that will be returned.
|
|
type: object
|
|
required:
|
|
- return_id
|
|
- item_id
|
|
properties:
|
|
return_id:
|
|
description: The id of the Return that the Return Item belongs to.
|
|
type: string
|
|
example: ret_01F0YET7XPCMF8RZ0Y151NZV2V
|
|
return_order:
|
|
description: Available if the relation `return_order` is expanded.
|
|
$ref: '#/components/schemas/Return'
|
|
item_id:
|
|
description: The id of the Line Item that the Return Item references.
|
|
type: string
|
|
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
|
item:
|
|
description: Available if the relation `item` is expanded.
|
|
$ref: '#/components/schemas/LineItem'
|
|
quantity:
|
|
description: The quantity of the Line Item that is included in the Return.
|
|
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.
|
|
type: integer
|
|
example: 1
|
|
recieved_quantity:
|
|
description: The quantity that was received in the warehouse.
|
|
type: integer
|
|
example: 1
|
|
reason_id:
|
|
description: The ID of the reason for returning the item.
|
|
type: string
|
|
example: rr_01G8X82GCCV2KSQHDBHSSAH5TQ
|
|
reason:
|
|
description: Available if the relation `reason` is expanded.
|
|
$ref: '#/components/schemas/ReturnReason'
|
|
note:
|
|
description: An optional note with additional details about the Return.
|
|
type: string
|
|
example: I didn't like it.
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
ReturnReason:
|
|
title: Return Reason
|
|
description: >-
|
|
A Reason for why a given product is returned. A Return Reason can be
|
|
used on Return Items in order to indicate why a Line Item was returned.
|
|
type: object
|
|
required:
|
|
- value
|
|
- label
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The cart's ID
|
|
example: rr_01G8X82GCCV2KSQHDBHSSAH5TQ
|
|
description:
|
|
description: A description of the Reason.
|
|
type: string
|
|
example: Items that are damaged
|
|
label:
|
|
description: A text that can be displayed to the Customer as a reason.
|
|
type: string
|
|
example: Damaged goods
|
|
value:
|
|
description: The value to identify the reason by.
|
|
type: string
|
|
example: damaged
|
|
parent_return_reason_id:
|
|
type: string
|
|
description: The ID of the parent reason.
|
|
example: null
|
|
parent_return_reason:
|
|
description: Available if the relation `parent_return_reason` is expanded.
|
|
$ref: '#/components/schemas/ReturnReason'
|
|
return_reason_children:
|
|
description: Available if the relation `return_reason_children` is expanded.
|
|
$ref: '#/components/schemas/ReturnReason'
|
|
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
|
|
Return:
|
|
title: Return
|
|
description: >-
|
|
Return orders hold information about Line Items that a Customer wishes
|
|
to send back, along with how the items will be returned. Returns can be
|
|
used as part of a Swap.
|
|
type: object
|
|
required:
|
|
- refund_amount
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The return's ID
|
|
example: ret_01F0YET7XPCMF8RZ0Y151NZV2V
|
|
status:
|
|
description: Status of the Return.
|
|
type: string
|
|
enum:
|
|
- requested
|
|
- received
|
|
- requires_action
|
|
- canceled
|
|
default: requested
|
|
items:
|
|
description: >-
|
|
The Return Items that will be shipped back to the warehouse.
|
|
Available if the relation `items` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ReturnItem'
|
|
swap_id:
|
|
description: The ID of the Swap that the Return is a part of.
|
|
type: string
|
|
example: null
|
|
swap:
|
|
description: A swap object. Available if the relation `swap` is expanded.
|
|
type: object
|
|
order_id:
|
|
description: The ID of the Order that the Return is made from.
|
|
type: string
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
type: object
|
|
claim_order_id:
|
|
description: The ID of the Claim that the Return is a part of.
|
|
type: string
|
|
example: null
|
|
claim_order:
|
|
description: >-
|
|
A claim order object. Available if the relation `claim_order` is
|
|
expanded.
|
|
type: object
|
|
shipping_method:
|
|
description: >-
|
|
The Shipping Method that will be used to send the Return back. Can
|
|
be null if the Customer facilitates the return shipment themselves.
|
|
Available if the relation `shipping_method` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ShippingMethod'
|
|
shipping_data:
|
|
description: >-
|
|
Data about the return shipment as provided by the Fulfilment
|
|
Provider that handles the return shipment.
|
|
type: object
|
|
example: {}
|
|
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.
|
|
type: boolean
|
|
example: false
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of the return
|
|
in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
received_at:
|
|
description: The date with timezone at which the return was received.
|
|
type: string
|
|
format: date-time
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
SalesChannel:
|
|
title: Sales Channel
|
|
description: A Sales Channel
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The sales channel's ID
|
|
example: sc_01G8X9A7ESKAJXG2H0E6F1MW7A
|
|
name:
|
|
description: The name of the sales channel.
|
|
type: string
|
|
example: Market
|
|
description:
|
|
description: The description of the sales channel.
|
|
type: string
|
|
example: Multi-vendor market
|
|
is_disabled:
|
|
description: Specify if the sales channel is enabled or disabled.
|
|
type: boolean
|
|
default: false
|
|
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
|
|
ShippingMethodTaxLine:
|
|
title: Shipping Method Tax Line
|
|
description: Shipping Method Tax Line
|
|
type: object
|
|
required:
|
|
- shipping_method_id
|
|
- rate
|
|
- name
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The line item tax line's ID
|
|
example: smtl_01G1G5V2DRX1SK6NQQ8VVX4HQ8
|
|
shipping_method_id:
|
|
type: string
|
|
description: The ID of the line item
|
|
example: sm_01F0YET7DR2E7CYVSDHM593QG2
|
|
shipping_method:
|
|
description: Available if the relation `shipping_method` is expanded.
|
|
$ref: '#/components/schemas/ShippingMethod'
|
|
code:
|
|
description: A code to identify the tax type by
|
|
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:
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
ShippingMethod:
|
|
title: Shipping Method
|
|
description: >-
|
|
Shipping Methods represent a way in which an Order or Return can be
|
|
shipped. Shipping Methods are built from a Shipping Option, but may
|
|
contain additional details, that can be necessary for the Fulfillment
|
|
Provider to handle the shipment.
|
|
type: object
|
|
required:
|
|
- shipping_option_id
|
|
- price
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The shipping method's ID
|
|
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
|
|
shipping_option:
|
|
description: Available if the relation `shipping_option` is expanded.
|
|
$ref: '#/components/schemas/ShippingOption'
|
|
order_id:
|
|
description: The id of the Order that the Shipping Method is used on.
|
|
type: string
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
type: object
|
|
return_id:
|
|
description: The id of the Return that the Shipping Method is used on.
|
|
type: string
|
|
example: null
|
|
return_order:
|
|
description: >-
|
|
A return object. Available if the relation `return_order` is
|
|
expanded.
|
|
type: object
|
|
swap_id:
|
|
description: The id of the Swap that the Shipping Method is used on.
|
|
type: string
|
|
example: null
|
|
swap:
|
|
description: A swap object. Available if the relation `swap` is expanded.
|
|
type: object
|
|
cart_id:
|
|
description: The id of the Cart that the Shipping Method is used on.
|
|
type: string
|
|
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
cart:
|
|
description: A cart object. Available if the relation `cart` is expanded.
|
|
type: object
|
|
claim_order_id:
|
|
description: The id of the Claim that the Shipping Method is used on.
|
|
type: string
|
|
example: null
|
|
claim_order:
|
|
description: >-
|
|
A claim order object. Available if the relation `claim_order` is
|
|
expanded.
|
|
type: object
|
|
tax_lines:
|
|
type: array
|
|
description: Available if the relation `tax_lines` is expanded.
|
|
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: '[EXPERIMENTAL] Indicates if the shipping method price include tax'
|
|
type: boolean
|
|
ShippingOptionRequirement:
|
|
title: Shipping Option Requirement
|
|
description: >-
|
|
A requirement that a Cart must satisfy for the Shipping Option to be
|
|
available to the Cart.
|
|
type: object
|
|
required:
|
|
- shipping_option_id
|
|
- type
|
|
- amount
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The shipping option requirement's ID
|
|
example: sor_01G1G5V29AB4CTNDRFSRWSRKWD
|
|
shipping_option_id:
|
|
description: >-
|
|
The id of the Shipping Option that the hipping option requirement
|
|
belongs to
|
|
type: string
|
|
example: so_01G1G5V27GYX4QXNARRQCW1N8T
|
|
shipping_option:
|
|
description: Available if the relation `shipping_option` is expanded.
|
|
$ref: '#/components/schemas/ShippingOption'
|
|
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:
|
|
type: string
|
|
description: The date with timezone at which the resource was deleted.
|
|
format: date-time
|
|
ShippingOption:
|
|
title: Shipping Option
|
|
description: >-
|
|
Shipping Options represent 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:
|
|
- name
|
|
- region_id
|
|
- profile_id
|
|
- provider_id
|
|
- price_type
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The shipping option's ID
|
|
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:
|
|
type: string
|
|
description: The region's ID
|
|
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
|
region:
|
|
description: A region object. Available if the relation `region` is expanded.
|
|
type: object
|
|
profile_id:
|
|
description: >-
|
|
The ID of the Shipping Profile that the shipping option belongs to.
|
|
Shipping Profiles have a set of defined Shipping Options that can be
|
|
used to Fulfill a given set of Products.
|
|
type: string
|
|
example: sp_01G1G5V239ENSZ5MV4JAR737BM
|
|
profile:
|
|
description: Available if the relation `profile` is expanded.
|
|
$ref: '#/components/schemas/ShippingProfile'
|
|
provider_id:
|
|
description: >-
|
|
The id of the Fulfillment Provider, that will be used to process
|
|
Fulfillments from the Shipping Option.
|
|
type: string
|
|
example: manual
|
|
provider:
|
|
description: Available if the relation `provider` is expanded.
|
|
$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`.
|
|
type: integer
|
|
example: 200
|
|
is_return:
|
|
description: >-
|
|
Flag to indicate if the Shipping Option can be used for Return
|
|
shipments.
|
|
type: boolean
|
|
default: false
|
|
requirements:
|
|
description: >-
|
|
The requirements that must be satisfied for the Shipping Option to
|
|
be available for a Cart. Available if the relation `requirements` is
|
|
expanded.
|
|
type: array
|
|
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: '[EXPERIMENTAL] Does the shipping option price include tax'
|
|
type: boolean
|
|
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
|
|
ShippingProfile:
|
|
title: Shipping Profile
|
|
description: >-
|
|
Shipping Profiles have a set of defined Shipping Options that can be
|
|
used to fulfill a given set of Products.
|
|
type: object
|
|
required:
|
|
- name
|
|
- type
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The shipping profile's ID
|
|
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 Products that the Shipping Profile defines Shipping Options for.
|
|
Available if the relation `products` is expanded.
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: A product object.
|
|
shipping_options:
|
|
description: >-
|
|
The Shipping Options that can be used to fulfill the Products in the
|
|
Shipping Profile. Available if the relation `shipping_options` is
|
|
expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ShippingOption'
|
|
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
|
|
ShippingTaxRate:
|
|
title: Shipping Tax Rate
|
|
description: >-
|
|
Associates a tax rate with a shipping option to indicate that the
|
|
shipping option is taxed in a certain way
|
|
type: object
|
|
required:
|
|
- shipping_option_id
|
|
- rate_id
|
|
properties:
|
|
shipping_option_id:
|
|
description: The ID of the Shipping Option
|
|
type: string
|
|
example: so_01G1G5V27GYX4QXNARRQCW1N8T
|
|
shipping_option:
|
|
description: Available if the relation `shipping_option` is expanded.
|
|
$ref: '#/components/schemas/ShippingOption'
|
|
rate_id:
|
|
description: The ID of the Tax Rate
|
|
type: string
|
|
example: txr_01G8XDBAWKBHHJRKH0AV02KXBR
|
|
tax_rate:
|
|
description: Available if the relation `tax_rate` is expanded.
|
|
$ref: '#/components/schemas/TaxRate'
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
StagedJob:
|
|
title: Staged Job
|
|
description: A staged job resource
|
|
type: object
|
|
required:
|
|
- event_name
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The staged job's ID
|
|
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: {}
|
|
Store:
|
|
title: Store
|
|
description: 'Holds settings for the Store, such as name, currencies, etc.'
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The store's ID
|
|
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: Available if the relation `default_currency` is expanded.
|
|
$ref: '#/components/schemas/Currency'
|
|
currencies:
|
|
description: >-
|
|
The currencies that are enabled for the Store. Available if the
|
|
relation `currencies` is expanded.
|
|
type: array
|
|
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.
|
|
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.
|
|
type: string
|
|
example: null
|
|
invite_link_template:
|
|
description: A template to generate Invite links from
|
|
type: string
|
|
example: null
|
|
default_sales_channel_id:
|
|
type: string
|
|
description: The sales channel ID the cart is associated with.
|
|
example: null
|
|
default_sales_channel:
|
|
description: >-
|
|
A sales channel object. Available if the relation
|
|
`default_sales_channel` is expanded.
|
|
type: object
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
Swap:
|
|
title: Swap
|
|
description: >-
|
|
Swaps can be created when a Customer wishes to exchange Products that
|
|
they have purchased to different Products. Swaps consist of a Return of
|
|
previously purchased Products and a Fulfillment of new Products, the
|
|
amount paid for the Products being returned will be used towards payment
|
|
for the new Products. In the case where the amount paid for the the
|
|
Products being returned exceed the amount to be paid for the new
|
|
Products, a Refund will be issued for the difference.
|
|
type: object
|
|
required:
|
|
- fulfillment_status
|
|
- payment_status
|
|
- order_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The swap's ID
|
|
example: swap_01F0YET86Y9G92D3YDR9Y6V676
|
|
fulfillment_status:
|
|
description: The status of the Fulfillment of the Swap.
|
|
type: string
|
|
enum:
|
|
- not_fulfilled
|
|
- fulfilled
|
|
- 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 where the Line Items to be returned where
|
|
purchased.
|
|
type: string
|
|
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
|
order:
|
|
description: An order object. Available if the relation `order` is expanded.
|
|
type: object
|
|
additional_items:
|
|
description: >-
|
|
The new Line Items to ship to the Customer. Available if the
|
|
relation `additional_items` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/LineItem'
|
|
return_order:
|
|
description: >-
|
|
A return order object. The Return that is issued for the return part
|
|
of the Swap. Available if the relation `return_order` is expanded.
|
|
type: object
|
|
fulfillments:
|
|
description: >-
|
|
The Fulfillments used to send the new Line Items. Available if the
|
|
relation `fulfillments` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Fulfillment'
|
|
payment:
|
|
description: >-
|
|
The Payment authorized when the Swap requires an additional amount
|
|
to be charged from the Customer. Available if the relation `payment`
|
|
is expanded.
|
|
$ref: '#/components/schemas/Payment'
|
|
difference_due:
|
|
description: >-
|
|
The difference that is paid or refunded as a result of the Swap. May
|
|
be negative when the amount paid for the returned items exceed the
|
|
total of the new Products.
|
|
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.
|
|
type: string
|
|
example: addr_01G8ZH853YPY9B94857DY91YGW
|
|
shipping_address:
|
|
description: Available if the relation `shipping_address` is expanded.
|
|
$ref: '#/components/schemas/Address'
|
|
shipping_methods:
|
|
description: >-
|
|
The Shipping Methods used to fulfill the additional items purchased.
|
|
Available if the relation `shipping_methods` is expanded.
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ShippingMethod'
|
|
cart_id:
|
|
description: The id of the Cart that the Customer will use to confirm the Swap.
|
|
type: string
|
|
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
|
cart:
|
|
description: A cart object. Available if the relation `cart` is expanded.
|
|
type: object
|
|
allow_backorder:
|
|
description: 'If true, swaps can be completed with items out of stock'
|
|
type: boolean
|
|
default: false
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of the swap
|
|
in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
confirmed_at:
|
|
description: >-
|
|
The date with timezone at which the Swap was confirmed by the
|
|
Customer.
|
|
type: string
|
|
format: date-time
|
|
canceled_at:
|
|
description: The date with timezone at which the Swap was canceled.
|
|
type: string
|
|
format: date-time
|
|
no_notification:
|
|
description: 'If set to true, no notification will be sent related to this swap'
|
|
type: boolean
|
|
example: false
|
|
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
|
|
TaxLine:
|
|
title: Tax Line
|
|
description: Line item that specifies an amount of tax to add to a line item.
|
|
type: object
|
|
required:
|
|
- rate
|
|
- name
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The tax line's ID
|
|
example: tl_01G1G5V2DRX1SK6NQQ8VVX4HQ8
|
|
code:
|
|
description: A code to identify the tax type by
|
|
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:
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
TaxProvider:
|
|
title: Tax Provider
|
|
description: The tax service used to calculate taxes
|
|
type: object
|
|
properties:
|
|
id:
|
|
description: The id of the tax provider as given by the plugin.
|
|
type: string
|
|
example: manual
|
|
is_installed:
|
|
description: >-
|
|
Whether the plugin is installed in the current version. Plugins that
|
|
are no longer installed are not deleted by will have this field set
|
|
to `false`.
|
|
type: boolean
|
|
default: true
|
|
TaxRate:
|
|
title: Tax Rate
|
|
description: >-
|
|
A Tax Rate can be used to associate a certain rate to charge on products
|
|
within a given Region
|
|
type: object
|
|
required:
|
|
- name
|
|
- region_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The tax rate's ID
|
|
example: txr_01G8XDBAWKBHHJRKH0AV02KXBR
|
|
rate:
|
|
description: The numeric rate to charge
|
|
type: number
|
|
example: 10
|
|
code:
|
|
description: A code to identify the tax type by
|
|
type: string
|
|
example: tax01
|
|
name:
|
|
description: A human friendly name for the tax
|
|
type: string
|
|
example: Tax Example
|
|
region_id:
|
|
type: string
|
|
description: The id of the Region that the rate belongs to
|
|
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
|
region:
|
|
description: A region object. Available if the relation `region` is expanded.
|
|
type: object
|
|
products:
|
|
type: array
|
|
description: >-
|
|
The products that belong to this tax rate. Available if the relation
|
|
`products` is expanded.
|
|
items:
|
|
type: object
|
|
description: A product object.
|
|
product_types:
|
|
type: array
|
|
description: >-
|
|
The product types that belong to this tax rate. Available if the
|
|
relation `product_types` is expanded.
|
|
items:
|
|
type: object
|
|
description: A product type object.
|
|
shipping_options:
|
|
type: array
|
|
description: >-
|
|
The shipping options that belong to this tax rate. Available if the
|
|
relation `shipping_options` is expanded.
|
|
items:
|
|
type: object
|
|
description: A shipping option object.
|
|
product_count:
|
|
description: The count of products
|
|
type: integer
|
|
example: null
|
|
product_type_count:
|
|
description: The count of product types
|
|
type: integer
|
|
example: null
|
|
shipping_option_count:
|
|
description: The count of shipping options
|
|
type: integer
|
|
example: null
|
|
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
|
|
metadata:
|
|
type: object
|
|
description: An optional key-value map with additional details
|
|
example:
|
|
car: white
|
|
TrackingLink:
|
|
title: Tracking Link
|
|
description: >-
|
|
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.
|
|
type: object
|
|
required:
|
|
- tracking_number
|
|
- fulfillment_id
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The tracking link's ID
|
|
example: tlink_01G8ZH853Y6TFXWPG5EYE81X63
|
|
url:
|
|
description: The URL at which the status of the shipment can be tracked.
|
|
type: string
|
|
format: uri
|
|
tracking_number:
|
|
description: The tracking number given by the shipping carrier.
|
|
type: string
|
|
format: RH370168054CN
|
|
fulfillment_id:
|
|
type: string
|
|
description: The id of the Fulfillment that the Tracking Link references.
|
|
example: ful_01G8ZRTMQCA76TXNAT81KPJZRF
|
|
fulfillment:
|
|
description: Available if the relation `fulfillment` is expanded.
|
|
$ref: '#/components/schemas/Fulfillment'
|
|
idempotency_key:
|
|
type: string
|
|
description: >-
|
|
Randomly generated key used to continue the completion of a process
|
|
in case of failure.
|
|
externalDocs:
|
|
url: >-
|
|
https://docs.medusajs.com/advanced/backend/payment/overview#idempotency-key
|
|
description: Learn more how to use the idempotency key.
|
|
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
|
|
User:
|
|
title: User
|
|
description: Represents a User who can manage store settings.
|
|
type: object
|
|
required:
|
|
- email
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The user's ID
|
|
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
|
email:
|
|
description: The email of the User
|
|
type: string
|
|
format: email
|
|
first_name:
|
|
description: The first name of the User
|
|
type: string
|
|
example: Levi
|
|
last_name:
|
|
description: The last name of the User
|
|
type: string
|
|
example: Bogan
|
|
api_token:
|
|
description: An API token associated with the user.
|
|
type: string
|
|
example: null
|
|
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
|
|
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
|
|
Error:
|
|
title: Response Error
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
description: A slug code to indicate the type of the error.
|
|
message:
|
|
type: string
|
|
description: Description of the error that occurred.
|
|
type:
|
|
type: string
|
|
description: A slug indicating the type of the error.
|
|
StorePostCartReq:
|
|
type: object
|
|
properties:
|
|
region_id:
|
|
type: string
|
|
description: The ID of the Region to create the Cart in.
|
|
sales_channel_id:
|
|
type: string
|
|
description: '[EXPERIMENTAL] The ID of the Sales channel to create the Cart in.'
|
|
country_code:
|
|
type: string
|
|
description: The 2 character ISO country code to create the Cart in.
|
|
externalDocs:
|
|
url: >-
|
|
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
|
description: See a list of codes.
|
|
items:
|
|
description: >-
|
|
An optional array of `variant_id`, `quantity` pairs to generate Line
|
|
Items from.
|
|
type: array
|
|
items:
|
|
required:
|
|
- variant_id
|
|
- quantity
|
|
properties:
|
|
variant_id:
|
|
description: The id of the Product Variant to generate a Line Item from.
|
|
type: string
|
|
quantity:
|
|
description: The quantity of the Product Variant to add
|
|
type: integer
|
|
context:
|
|
description: >-
|
|
An optional object to provide context to the Cart. The `context`
|
|
field is automatically populated with `ip` and `user_agent`
|
|
type: object
|
|
example:
|
|
ip: '::1'
|
|
user_agent: Chrome
|
|
StorePostCartsCartReq:
|
|
type: object
|
|
properties:
|
|
region_id:
|
|
type: string
|
|
description: The id of the Region to create the Cart in.
|
|
country_code:
|
|
type: string
|
|
description: The 2 character ISO country code to create the Cart in.
|
|
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 on the Cart.
|
|
format: email
|
|
sales_channel_id:
|
|
type: string
|
|
description: The ID of the Sales channel to update the Cart with.
|
|
billing_address:
|
|
description: The Address to be used for billing purposes.
|
|
anyOf:
|
|
- $ref: '#/components/schemas/Address'
|
|
description: A full billing address object.
|
|
- type: string
|
|
description: The billing address ID
|
|
shipping_address:
|
|
description: The Address to be used for shipping.
|
|
anyOf:
|
|
- $ref: '#/components/schemas/Address'
|
|
description: A full shipping address object.
|
|
- type: string
|
|
description: The shipping address ID
|
|
gift_cards:
|
|
description: An array of Gift Card codes to add to the Cart.
|
|
type: array
|
|
items:
|
|
required:
|
|
- code
|
|
properties:
|
|
code:
|
|
description: The code that a Gift Card is identified by.
|
|
type: string
|
|
discounts:
|
|
description: An array of Discount codes to add to the Cart.
|
|
type: array
|
|
items:
|
|
required:
|
|
- code
|
|
properties:
|
|
code:
|
|
description: The code that a Discount is identifed by.
|
|
type: string
|
|
customer_id:
|
|
description: The ID of the Customer to associate the Cart with.
|
|
type: string
|
|
context:
|
|
description: An optional object to provide context to the Cart.
|
|
type: object
|
|
example:
|
|
ip: '::1'
|
|
user_agent: Chrome
|
|
StorePostCustomersCustomerAddressesReq:
|
|
type: object
|
|
required:
|
|
- address
|
|
properties:
|
|
address:
|
|
description: The Address to add to the Customer.
|
|
allOf:
|
|
- $ref: '#/components/schemas/AddressFields'
|
|
- type: object
|
|
required:
|
|
- first_name
|
|
- last_name
|
|
- address_1
|
|
- city
|
|
- country_code
|
|
- postal_code
|
|
StorePostCustomersReq:
|
|
type: object
|
|
required:
|
|
- first_name
|
|
- last_name
|
|
- email
|
|
- password
|
|
properties:
|
|
first_name:
|
|
description: The Customer's first name.
|
|
type: string
|
|
last_name:
|
|
description: The Customer's last name.
|
|
type: string
|
|
email:
|
|
description: The email of the customer.
|
|
type: string
|
|
format: email
|
|
password:
|
|
description: The Customer's password.
|
|
type: string
|
|
format: password
|
|
phone:
|
|
description: The Customer's phone number.
|
|
type: string
|
|
StorePostCustomersCustomerPasswordTokenReq:
|
|
type: object
|
|
required:
|
|
- email
|
|
properties:
|
|
email:
|
|
description: The email of the customer.
|
|
type: string
|
|
format: email
|
|
StorePostCustomersResetPasswordReq:
|
|
type: object
|
|
required:
|
|
- email
|
|
- password
|
|
- token
|
|
properties:
|
|
email:
|
|
description: The email of the customer.
|
|
type: string
|
|
format: email
|
|
password:
|
|
description: The Customer's password.
|
|
type: string
|
|
format: password
|
|
token:
|
|
description: The reset password token
|
|
type: string
|
|
StorePostCustomersCustomerAddressesAddressReq:
|
|
anyOf:
|
|
- $ref: '#/components/schemas/AddressFields'
|
|
StorePostCustomersCustomerReq:
|
|
type: object
|
|
properties:
|
|
first_name:
|
|
description: The Customer's first name.
|
|
type: string
|
|
last_name:
|
|
description: The Customer's last name.
|
|
type: string
|
|
billing_address:
|
|
description: The Address to be used for billing purposes.
|
|
anyOf:
|
|
- $ref: '#/components/schemas/AddressFields'
|
|
description: The full billing address object
|
|
- type: string
|
|
description: The ID of an existing billing address
|
|
password:
|
|
description: The Customer's password.
|
|
type: string
|
|
phone:
|
|
description: The Customer's phone number.
|
|
type: string
|
|
email:
|
|
description: The email of the customer.
|
|
type: string
|
|
metadata:
|
|
description: Metadata about the customer.
|
|
type: object
|
|
StorePostOrderEditsOrderEditDecline:
|
|
type: object
|
|
properties:
|
|
declined_reason:
|
|
type: string
|
|
description: The reason for declining the OrderEdit.
|
|
StorePostCustomersCustomerAcceptClaimReq:
|
|
type: object
|
|
required:
|
|
- token
|
|
properties:
|
|
token:
|
|
description: The invite token provided by the admin.
|
|
type: string
|
|
StorePostCustomersCustomerOrderClaimReq:
|
|
type: object
|
|
required:
|
|
- order_ids
|
|
properties:
|
|
order_ids:
|
|
description: The ids of the orders to claim
|
|
type: array
|
|
items:
|
|
type: string
|
|
StorePostPaymentCollectionsBatchSessionsAuthorizeReq:
|
|
type: object
|
|
required:
|
|
- session_ids
|
|
properties:
|
|
session_ids:
|
|
description: List of Payment Session IDs to authorize.
|
|
type: array
|
|
items:
|
|
type: string
|
|
StorePostPaymentCollectionsBatchSessionsReq:
|
|
type: object
|
|
required:
|
|
- sessions
|
|
properties:
|
|
sessions:
|
|
description: >-
|
|
An array of payment sessions related to the Payment Collection. If
|
|
the session_id is not provided, existing sessions not present will
|
|
be deleted and the provided ones will be created.
|
|
type: array
|
|
items:
|
|
required:
|
|
- provider_id
|
|
- amount
|
|
properties:
|
|
provider_id:
|
|
type: string
|
|
description: The ID of the Payment Provider.
|
|
amount:
|
|
type: integer
|
|
description: The amount .
|
|
session_id:
|
|
type: string
|
|
description: The ID of the Payment Session to be updated.
|
|
StorePaymentCollectionSessionsReq:
|
|
type: object
|
|
required:
|
|
- provider_id
|
|
properties:
|
|
provider_id:
|
|
type: string
|
|
description: The ID of the Payment Provider.
|
|
StorePostReturnsReq:
|
|
type: object
|
|
required:
|
|
- order_id
|
|
- items
|
|
properties:
|
|
order_id:
|
|
type: string
|
|
description: The ID of the Order to create the Return from.
|
|
items:
|
|
description: The items to include in the Return.
|
|
type: array
|
|
items:
|
|
required:
|
|
- item_id
|
|
- quantity
|
|
properties:
|
|
item_id:
|
|
description: The ID of the Line Item from the Order.
|
|
type: string
|
|
quantity:
|
|
description: The quantity to return.
|
|
type: integer
|
|
reason_id:
|
|
description: The ID of the return reason.
|
|
type: string
|
|
note:
|
|
description: A note to add to the item returned.
|
|
type: string
|
|
return_shipping:
|
|
description: >-
|
|
If the Return is to be handled by the store operator the Customer
|
|
can choose a Return Shipping Method. Alternatvely the Customer can
|
|
handle the Return themselves.
|
|
type: object
|
|
required:
|
|
- option_id
|
|
properties:
|
|
option_id:
|
|
type: string
|
|
description: >-
|
|
The ID of the Shipping Option to create the Shipping Method
|
|
from.
|
|
StorePostSwapsReq:
|
|
type: object
|
|
required:
|
|
- order_id
|
|
- return_items
|
|
- additional_items
|
|
properties:
|
|
order_id:
|
|
type: string
|
|
description: The ID of the Order to create the Swap for.
|
|
return_items:
|
|
description: The items to include in the Return.
|
|
type: array
|
|
items:
|
|
required:
|
|
- item_id
|
|
- quantity
|
|
properties:
|
|
item_id:
|
|
description: The ID of the Line Item from the Order.
|
|
type: string
|
|
quantity:
|
|
description: The quantity to swap.
|
|
type: integer
|
|
reason_id:
|
|
description: The ID of the reason of this return.
|
|
type: string
|
|
note:
|
|
description: The note to add to the item being swapped.
|
|
type: string
|
|
return_shipping_option:
|
|
type: string
|
|
description: The ID of the Shipping Option to create the Shipping Method from.
|
|
additional_items:
|
|
description: The items to exchange the returned items to.
|
|
type: array
|
|
items:
|
|
required:
|
|
- variant_id
|
|
- quantity
|
|
properties:
|
|
variant_id:
|
|
description: The ID of the Product Variant to send.
|
|
type: string
|
|
quantity:
|
|
description: The quantity to send of the variant.
|
|
type: integer
|