chore(oas): clean up oas (#9354)

* clean up generated oas

* fix issues in docs-util

* more fixes

* align max level

* validation fix

* add missing summaries

* fix validation

* fix exchanges route
This commit is contained in:
Shahed Nasser
2024-10-02 10:27:02 +03:00
committed by GitHub
parent 13a3c1bd77
commit 1e144e9c08
83 changed files with 2709 additions and 640 deletions
@@ -31,7 +31,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -31,7 +31,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -31,7 +31,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -53,7 +53,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -72,11 +72,11 @@
* title: deleted
* description: Whether the Customer was deleted.
* - type: object
* description: SUMMARY
* description: The deletion's details.
* properties:
* parent:
* $ref: "#/components/schemas/AdminCustomer"
* description: SUMMARY
* description: The deletion's details.
* "400":
* $ref: "#/components/responses/400_error"
* "401":
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -57,7 +57,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -76,11 +76,11 @@
* title: deleted
* description: Whether the Inventory Item was deleted.
* - type: object
* description: SUMMARY
* description: The deletion's details.
* properties:
* parent:
* $ref: "#/components/schemas/AdminInventoryItem"
* description: SUMMARY
* description: The deletion's details.
* "400":
* $ref: "#/components/responses/400_error"
* "401":
@@ -24,7 +24,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -56,7 +56,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -75,11 +75,11 @@
* title: deleted
* description: Whether the Tax Rate was deleted.
* - type: object
* description: SUMMARY
* description: The deletion's details.
* properties:
* parent:
* $ref: "#/components/schemas/AdminTaxRate"
* description: SUMMARY
* description: The deletion's details.
* "400":
* $ref: "#/components/responses/400_error"
* "401":
@@ -30,7 +30,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - id
* - object
@@ -19,7 +19,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - success
* properties:
@@ -845,7 +845,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of customer groups.
* required:
* - limit
* - offset
@@ -854,23 +854,23 @@
* limit:
* type: number
* title: limit
* description: The customer group's limit.
* description: The maximum number of items retrieved.
* offset:
* type: number
* title: offset
* description: The customer group's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The customer group's count.
* description: The total number of items
* - type: object
* description: SUMMARY
* description: The paginated list of customer groups.
* required:
* - customer_groups
* properties:
* customer_groups:
* type: array
* description: The customer group's customer groups.
* description: The list of customer groups.
* items:
* $ref: "#/components/schemas/AdminCustomerGroup"
* "400":
@@ -1467,7 +1467,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of draft orders.
* required:
* - limit
* - offset
@@ -1476,17 +1476,17 @@
* limit:
* type: number
* title: limit
* description: The draft order's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The draft order's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The draft order's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of draft orders.
* required:
* - draft_orders
* properties:
@@ -830,7 +830,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of exchanges.
* required:
* - limit
* - offset
@@ -839,22 +839,25 @@
* limit:
* type: number
* title: limit
* description: The exchange's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The exchange's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The exchange's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of exchanges.
* required:
* - exchanges
* properties:
* exchanges:
* $ref: "#/components/schemas/AdminExchange"
* type: array
* description: The exchange's exchanges.
* items:
* $ref: "#/components/schemas/AdminExchange"
* "400":
* $ref: "#/components/responses/400_error"
* "401":
@@ -402,7 +402,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of inventory items.
* required:
* - limit
* - offset
@@ -411,17 +411,17 @@
* limit:
* type: number
* title: limit
* description: The inventory item's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The inventory item's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The inventory item's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of inventory items.
* required:
* - inventory_items
* properties:
@@ -105,7 +105,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of inventory levels.
* required:
* - limit
* - offset
@@ -114,17 +114,17 @@
* limit:
* type: number
* title: limit
* description: The inventory item's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The inventory item's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The inventory item's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of inventory levels.
* required:
* - inventory_levels
* properties:
@@ -482,7 +482,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of product variants.
* required:
* - limit
* - offset
@@ -491,17 +491,17 @@
* limit:
* type: number
* title: limit
* description: The product variant's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The product variant's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The product variant's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of product variants.
* required:
* - variants
* properties:
@@ -583,6 +583,412 @@
* type: string
* title: collection_id
* description: A product collection's ID.
* - name: variants
* in: query
* description: Filter the retrieved products' variants.
* required: false
* schema:
* type: object
* description: Filter the retrieved products' variants.
* x-schemaName: AdminProductVariantParams
* properties:
* q:
* type: string
* title: q
* description: Search term to apply on the variant's searchable properties.
* id:
* oneOf:
* - type: string
* title: id
* description: Filter by a variant's ID.
* - type: array
* description: Filter by variant IDs.
* items:
* type: string
* title: id
* description: A variant's ID.
* manage_inventory:
* type: boolean
* title: manage_inventory
* description: Filter by whether the Medusa application manages the variant's inventory.
* allow_backorder:
* type: boolean
* title: allow_backorder
* description: Filter by whether the variant can be ordered even if it's out of stock.
* created_at:
* type: object
* description: Filter by the variant's creation date.
* properties:
* $and:
* type: array
* description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $and
* $or:
* type: array
* description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $or
* $eq:
* oneOf:
* - type: string
* title: $eq
* description: Filter by an exact match.
* - type: array
* description: Filter by an exact match.
* items:
* type: string
* title: $eq
* description: Filter by an exact match.
* $ne:
* type: string
* title: $ne
* description: Filter by values not equal to this parameter.
* $in:
* type: array
* description: Filter by values in this array.
* items:
* type: string
* title: $in
* description: Filter by values in this array.
* $nin:
* type: array
* description: Filter by values not in this array.
* items:
* type: string
* title: $nin
* description: Filter by values not in this array.
* $not:
* oneOf:
* - type: string
* title: $not
* description: Filter by values not matching the conditions in this parameter.
* - type: object
* description: Filter by values not matching the conditions in this parameter.
* - type: array
* description: Filter by values not matching the conditions in this parameter.
* items:
* type: string
* title: $not
* description: Filter by values not matching the conditions in this parameter.
* $gt:
* type: string
* title: $gt
* description: Filter by values greater than this parameter. Useful for numbers and dates only.
* $gte:
* type: string
* title: $gte
* description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only.
* $lt:
* type: string
* title: $lt
* description: Filter by values less than this parameter. Useful for numbers and dates only.
* $lte:
* type: string
* title: $lte
* description: Filter by values less than or equal to this parameter. Useful for numbers and dates only.
* $like:
* type: string
* title: $like
* description: Apply a `like` filter. Useful for strings only.
* $re:
* type: string
* title: $re
* description: Apply a regex filter. Useful for strings only.
* $ilike:
* type: string
* title: $ilike
* description: Apply a case-insensitive `like` filter. Useful for strings only.
* $fulltext:
* type: string
* title: $fulltext
* description: Filter to apply on full-text properties.
* $overlap:
* type: array
* description: Filter arrays that have overlapping values with this parameter.
* items:
* type: string
* title: $overlap
* description: Filter arrays that have overlapping values with this parameter.
* $contains:
* type: array
* description: Filter arrays that contain some of the values of this parameter.
* items:
* type: string
* title: $contains
* description: Filter arrays that contain some of the values of this parameter.
* $contained:
* type: array
* description: Filter arrays that contain all values of this parameter.
* items:
* type: string
* title: $contained
* description: Filter arrays that contain all values of this parameter.
* $exists:
* type: boolean
* title: $exists
* description: Filter by whether a value for this parameter exists (not `null`).
* updated_at:
* type: object
* description: The variant's updated at.
* properties:
* $and:
* type: array
* description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $and
* $or:
* type: array
* description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $or
* $eq:
* oneOf:
* - type: string
* title: $eq
* description: Filter by an exact match.
* - type: array
* description: Filter by an exact match.
* items:
* type: string
* title: $eq
* description: Filter by an exact match.
* $ne:
* type: string
* title: $ne
* description: Filter by values not equal to this parameter.
* $in:
* type: array
* description: Filter by values in this array.
* items:
* type: string
* title: $in
* description: Filter by values in this array.
* $nin:
* type: array
* description: Filter by values not in this array.
* items:
* type: string
* title: $nin
* description: Filter by values not in this array.
* $not:
* oneOf:
* - type: string
* title: $not
* description: Filter by values not matching the conditions in this parameter.
* - type: object
* description: Filter by values not matching the conditions in this parameter.
* - type: array
* description: Filter by values not matching the conditions in this parameter.
* items:
* type: string
* title: $not
* description: Filter by values not matching the conditions in this parameter.
* $gt:
* type: string
* title: $gt
* description: Filter by values greater than this parameter. Useful for numbers and dates only.
* $gte:
* type: string
* title: $gte
* description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only.
* $lt:
* type: string
* title: $lt
* description: Filter by values less than this parameter. Useful for numbers and dates only.
* $lte:
* type: string
* title: $lte
* description: Filter by values less than or equal to this parameter. Useful for numbers and dates only.
* $like:
* type: string
* title: $like
* description: Apply a `like` filter. Useful for strings only.
* $re:
* type: string
* title: $re
* description: Apply a regex filter. Useful for strings only.
* $ilike:
* type: string
* title: $ilike
* description: Apply a case-insensitive `like` filter. Useful for strings only.
* $fulltext:
* type: string
* title: $fulltext
* description: Filter to apply on full-text properties.
* $overlap:
* type: array
* description: Filter arrays that have overlapping values with this parameter.
* items:
* type: string
* title: $overlap
* description: Filter arrays that have overlapping values with this parameter.
* $contains:
* type: array
* description: Filter arrays that contain some of the values of this parameter.
* items:
* type: string
* title: $contains
* description: Filter arrays that contain some of the values of this parameter.
* $contained:
* type: array
* description: Filter arrays that contain all values of this parameter.
* items:
* type: string
* title: $contained
* description: Filter arrays that contain all values of this parameter.
* $exists:
* type: boolean
* title: $exists
* description: Filter by whether a value for this parameter exists (not `null`).
* deleted_at:
* type: object
* description: The variant's deleted at.
* properties:
* $and:
* type: array
* description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $and
* $or:
* type: array
* description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $or
* $eq:
* oneOf:
* - type: string
* title: $eq
* description: Filter by an exact match.
* - type: array
* description: Filter by an exact match.
* items:
* type: string
* title: $eq
* description: Filter by an exact match.
* $ne:
* type: string
* title: $ne
* description: Filter by values not equal to this parameter.
* $in:
* type: array
* description: Filter by values in this array.
* items:
* type: string
* title: $in
* description: Filter by values in this array.
* $nin:
* type: array
* description: Filter by values not in this array.
* items:
* type: string
* title: $nin
* description: Filter by values not in this array.
* $not:
* oneOf:
* - type: string
* title: $not
* description: Filter by values not matching the conditions in this parameter.
* - type: object
* description: Filter by values not matching the conditions in this parameter.
* - type: array
* description: Filter by values not matching the conditions in this parameter.
* items:
* type: string
* title: $not
* description: Filter by values not matching the conditions in this parameter.
* $gt:
* type: string
* title: $gt
* description: Filter by values greater than this parameter. Useful for numbers and dates only.
* $gte:
* type: string
* title: $gte
* description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only.
* $lt:
* type: string
* title: $lt
* description: Filter by values less than this parameter. Useful for numbers and dates only.
* $lte:
* type: string
* title: $lte
* description: Filter by values less than or equal to this parameter. Useful for numbers and dates only.
* $like:
* type: string
* title: $like
* description: Apply a `like` filter. Useful for strings only.
* $re:
* type: string
* title: $re
* description: Apply a regex filter. Useful for strings only.
* $ilike:
* type: string
* title: $ilike
* description: Apply a case-insensitive `like` filter. Useful for strings only.
* $fulltext:
* type: string
* title: $fulltext
* description: Filter to apply on full-text properties.
* $overlap:
* type: array
* description: Filter arrays that have overlapping values with this parameter.
* items:
* type: string
* title: $overlap
* description: Filter arrays that have overlapping values with this parameter.
* $contains:
* type: array
* description: Filter arrays that contain some of the values of this parameter.
* items:
* type: string
* title: $contains
* description: Filter arrays that contain some of the values of this parameter.
* $contained:
* type: array
* description: Filter arrays that contain all values of this parameter.
* items:
* type: string
* title: $contained
* description: Filter arrays that contain all values of this parameter.
* $exists:
* type: boolean
* title: $exists
* description: Filter by whether a value for this parameter exists (not `null`).
* limit:
* type: number
* title: limit
* description: Limit the number of items returned in the list.
* offset:
* type: number
* title: offset
* description: The number of items to skip when retrieving a list.
* order:
* type: string
* title: order
* description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`.
* fields:
* type: string
* title: fields
* description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default
* fields. without prefix it will replace the entire default fields.
* $and:
* type: array
* description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $and
* $or:
* type: array
* description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $or
* security:
* - api_token: []
* - cookie_auth: []
@@ -109,7 +109,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of refund reasons.
* required:
* - limit
* - offset
@@ -118,17 +118,17 @@
* limit:
* type: number
* title: limit
* description: The refund reason's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The refund reason's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The refund reason's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of refund reasons.
* required:
* - refund_reasons
* properties:
@@ -647,7 +647,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of returns.
* required:
* - limit
* - offset
@@ -656,17 +656,17 @@
* limit:
* type: number
* title: limit
* description: The return's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The return's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The return's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of returns.
* required:
* - returns
* properties:
@@ -0,0 +1,80 @@
/**
* @oas [post] /admin/orders/{id}/fulfillments/{fulfillment_id}/mark-as-delivered
* operationId: PostOrdersIdFulfillmentsFulfillment_idMarkAsDelivered
* summary: Mark a Fulfillment as Delivered.
* x-sidebar-summary: Mark Delivered
* description: Mark an order's fulfillment as delivered.
* x-authenticated: true
* parameters:
* - name: id
* in: path
* description: The order's ID.
* required: true
* schema:
* type: string
* - name: fulfillment_id
* in: path
* description: The fulfillment's ID.
* required: true
* schema:
* type: string
* - name: expand
* in: query
* description: Comma-separated relations that should be expanded in the returned data.
* required: false
* schema:
* type: string
* title: expand
* description: Comma-separated relations that should be expanded in the returned data.
* - name: fields
* in: query
* description: |-
* Comma-separated fields that should be included in the returned data.
* If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* Without prefix it will replace the entire default fields.
* required: false
* schema:
* type: string
* title: fields
* description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default
* fields. without prefix it will replace the entire default fields.
* security:
* - api_token: []
* - cookie_auth: []
* - jwt_token: []
* requestBody:
* content:
* application/json:
* schema:
* $ref: "#/components/schemas/AdminMarkOrderFulfillmentDelivered"
* x-codeSamples:
* - lang: Shell
* label: cURL
* source: |-
* curl -X POST '{backend_url}/admin/orders/{id}/fulfillments/{fulfillment_id}/mark-as-delivered' \
* -H 'Authorization: Bearer {access_token}'
* tags:
* - Orders
* responses:
* "200":
* description: OK
* content:
* application/json:
* schema:
* $ref: "#/components/schemas/AdminOrderResponse"
* "400":
* $ref: "#/components/responses/400_error"
* "401":
* $ref: "#/components/responses/unauthorized"
* "404":
* $ref: "#/components/responses/not_found_error"
* "409":
* $ref: "#/components/responses/invalid_state_error"
* "422":
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
* x-workflow: markOrderFulfillmentAsDeliveredWorkflow
*
*/
@@ -14,7 +14,7 @@
* schema:
* oneOf:
* - type: object
* description: SUMMARY
* description: The files to upload
* required:
* - files
* properties:
@@ -45,6 +45,8 @@
* required:
* - workflowId
* - transactionId
* - hasFinished
* - hasFailed
* properties:
* workflowId:
* type: string
@@ -54,6 +56,18 @@
* type: string
* description: The ID of the workflow exection's transaction. Use this later to track the workflow execution's progress or succeed / fail its steps.
* title: transactionId
* parentStepIdempotencyKey:
* type: string
* title: parentStepIdempotencyKey
* description: The idempotency key of the workflow execution.
* hasFinished:
* type: boolean
* title: hasFinished
* description: Whether the workflow execution has finished.
* hasFailed:
* type: boolean
* title: hasFailed
* description: Whether the workflow execution has failed.
* "400":
* $ref: "#/components/responses/400_error"
* "401":
@@ -19,7 +19,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The deletion's details.
* required:
* - success
* properties:
@@ -815,7 +815,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of collections.
* required:
* - limit
* - offset
@@ -824,17 +824,17 @@
* limit:
* type: number
* title: limit
* description: The collection's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The collection's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The collection's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of collections.
* required:
* - collections
* properties:
@@ -54,31 +54,52 @@
* - name: city
* in: query
* description: Filter by the address's city.
* required: true
* required: false
* schema:
* type: string
* title: city
* description: Filter by the address's city.
* oneOf:
* - type: string
* title: city
* description: Filter by a city.
* - type: array
* description: Filter by cities.
* items:
* type: string
* title: city
* description: A city.
* - name: postal_code
* in: query
* description: Filter by the address's postal code.
* required: true
* required: false
* schema:
* type: string
* title: postal_code
* description: Filter by the address's postal code.
* oneOf:
* - type: string
* title: postal_code
* description: Filter by a postal code.
* - type: array
* description: Filter by postal codes.
* items:
* type: string
* title: postal_code
* description: A postal code.
* - name: country_code
* in: query
* description: Filter by the address's country code.
* required: true
* required: false
* schema:
* type: string
* title: country_code
* description: Filter by the address's country code.
* oneOf:
* - type: string
* title: country_code
* description: Filter by a country code.
* - type: array
* description: Filter by country codes.
* items:
* type: string
* title: country_code
* description: A country code.
* - name: q
* in: query
* description: Search term to filter the address's searchable properties.
* required: true
* required: false
* schema:
* type: string
* title: q
@@ -131,7 +131,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of orders.
* required:
* - limit
* - offset
@@ -140,17 +140,17 @@
* limit:
* type: number
* title: limit
* description: The order's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The order's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The order's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of orders.
* required:
* - orders
* properties:
@@ -136,7 +136,7 @@
* schema:
* allOf:
* - type: object
* description: SUMMARY
* description: The paginated list of regions.
* required:
* - limit
* - offset
@@ -145,23 +145,23 @@
* limit:
* type: number
* title: limit
* description: The region's limit.
* description: The maximum number of items returned.
* offset:
* type: number
* title: offset
* description: The region's offset.
* description: The number of items skipped before retrieving the returned items.
* count:
* type: number
* title: count
* description: The region's count.
* description: The total number of items.
* - type: object
* description: SUMMARY
* description: The paginated list of regions.
* required:
* - regions
* properties:
* regions:
* type: array
* description: The region's regions.
* description: The list of regions.
* items:
* $ref: "#/components/schemas/StoreRegion"
* "400":
@@ -43,7 +43,7 @@
* application/json:
* schema:
* type: object
* description: SUMMARY
* description: The region's details.
* required:
* - region
* properties:
@@ -0,0 +1,67 @@
/**
* @schema AdminApplicationMethod
* type: object
* description: The application method's details.
* x-schemaName: AdminApplicationMethod
* required:
* - id
* properties:
* promotion:
* $ref: "#/components/schemas/AdminPromotion"
* target_rules:
* type: array
* description: The application method's target rules.
* items:
* $ref: "#/components/schemas/AdminPromotionRule"
* buy_rules:
* type: array
* description: The application method's buy rules.
* items:
* $ref: "#/components/schemas/AdminPromotionRule"
* id:
* type: string
* title: id
* description: The application method's ID.
* type:
* type: string
* description: The application method's type. If it's `fixed`, the promotion discounts a fixed amount. If it's `percentage`, the promotion discounts a percentage.
* enum:
* - fixed
* - percentage
* target_type:
* type: string
* description: Which item does the promotion apply to. `items` mean the promotion applies to the cart's items; `shipping_methods` means the promotion applies to the cart's shipping methods; `order` means the promotion applies on the entire order.
* enum:
* - items
* - shipping_methods
* - order
* allocation:
* type: string
* description: How is the promotion amount discounted. `each` means the discounted amount is applied on each applicable item; `across` means the discounted amount is split accross the applicable items.
* enum:
* - each
* - across
* value:
* type: number
* title: value
* description: The amount to be discounted.
* currency_code:
* type: string
* title: currency_code
* description: The application method's currency code.
* example: usd
* max_quantity:
* type: number
* title: max_quantity
* description: The max quantity allowed in the cart for the associated promotion to be applied.
* buy_rules_min_quantity:
* type: number
* title: buy_rules_min_quantity
* description: The minimum quantity required for a `buyget` promotion to be applied. For example, if the promotion is a "Buy 2 shirts get 1 free", the value of this attribute is `2`.
* apply_to_quantity:
* type: number
* title: apply_to_quantity
* description: The quantity that results from matching the `buyget` promotion's condition. For example, if the promotion is a "Buy 2 shirts get 1 free", the value of this attribute is `1`.
*
*/
@@ -1,7 +1,7 @@
/**
* @schema AdminArchiveOrder
* type: object
* description: SUMMARY
* description: The archive details.
* x-schemaName: AdminArchiveOrder
* required:
* - order_id
@@ -4,44 +4,18 @@
* description: The claim's details.
* x-schemaName: AdminClaim
* required:
* - order_id
* - claim_items
* - additional_items
* - currency_code
* - order
* - return
* - id
* - region_id
* - customer_id
* - sales_channel_id
* - email
* - shipping_methods
* - payment_status
* - fulfillment_status
* - summary
* - metadata
* - type
* - order_id
* - display_id
* - order_version
* - created_at
* - updated_at
* - original_item_total
* - original_item_subtotal
* - original_item_tax_total
* - item_total
* - item_subtotal
* - item_tax_total
* - original_total
* - original_subtotal
* - original_tax_total
* - total
* - subtotal
* - tax_total
* - discount_total
* - discount_tax_total
* - gift_card_total
* - gift_card_tax_total
* - shipping_total
* - shipping_subtotal
* - shipping_tax_total
* - original_shipping_total
* - original_shipping_subtotal
* - original_shipping_tax_total
* - canceled_at
* - additional_items
* - claim_items
* properties:
* id:
* type: string
@@ -62,7 +36,7 @@
* items:
* $ref: "#/components/schemas/BaseClaimItem"
* return:
* $ref: "#/components/schemas/Return"
* $ref: "#/components/schemas/AdminReturn"
* return_id:
* type: string
* title: return_id
@@ -75,76 +49,15 @@
* type: number
* title: refund_amount
* description: The amount to be refunded.
* currency_code:
* type: string
* title: currency_code
* description: The claim's currency code.
* region_id:
* type: string
* title: region_id
* description: The ID of the region associated with the claim.
* customer_id:
* type: string
* title: customer_id
* description: The ID of the customer associated with the claim's order.
* sales_channel_id:
* type: string
* title: sales_channel_id
* description: The ID of the sales channel the claim's order is created in.
* email:
* type: string
* title: email
* description: The email associated with the claim's order.
* format: email
* display_id:
* type: number
* title: display_id
* description: The claim's display ID.
* shipping_address:
* $ref: "#/components/schemas/BaseOrderAddress"
* billing_address:
* $ref: "#/components/schemas/BaseOrderAddress"
* shipping_methods:
* type: array
* description: The claim's shipping methods.
* items:
* $ref: "#/components/schemas/BaseOrderShippingMethod"
* payment_collections:
* type: array
* description: The claim's payment collections.
* items:
* $ref: "#/components/schemas/BasePaymentCollection"
* payment_status:
* type: string
* description: The claim's payment status.
* enum:
* - canceled
* - not_paid
* - awaiting
* - authorized
* - partially_authorized
* - captured
* - partially_captured
* - partially_refunded
* - refunded
* - requires_action
* fulfillments:
* type: array
* description: The claim's fulfillments.
* items:
* $ref: "#/components/schemas/BaseOrderFulfillment"
* fulfillment_status:
* type: string
* description: The claim's fulfillment status.
* enum:
* - canceled
* - not_fulfilled
* - partially_fulfilled
* - fulfilled
* - partially_shipped
* - shipped
* - partially_delivered
* - delivered
* $ref: "#/components/schemas/AdminOrderShippingMethod"
* transactions:
* type: array
* description: The claim's transactions.
@@ -153,8 +66,6 @@
* description: Learn more about transactions of orders and associated models.
* items:
* $ref: "#/components/schemas/BaseOrderTransaction"
* summary:
* $ref: "#/components/schemas/BaseOrderSummary"
* metadata:
* type: object
* description: The claim's metadata, used to store custom key-value pairs.
@@ -168,94 +79,32 @@
* format: date-time
* title: updated_at
* description: The claim's update date.
* original_item_total:
* type: number
* title: original_item_total
* description: The total of the original items in the associated order.
* original_item_subtotal:
* type: number
* title: original_item_subtotal
* description: The subtotal of the original items in the associated order.
* original_item_tax_total:
* type: number
* title: original_item_tax_total
* description: The tax total of the original items in the associated order.
* item_total:
* type: number
* title: item_total
* description: The total of the claim's items.
* item_subtotal:
* type: number
* title: item_subtotal
* description: The subtotal of the claim's items.
* item_tax_total:
* type: number
* title: item_tax_total
* description: The tax total of the claim's items.
* original_total:
* type: number
* title: original_total
* description: The associated order's original total.
* original_subtotal:
* type: number
* title: original_subtotal
* description: The associated order's original subtotal.
* original_tax_total:
* type: number
* title: original_tax_total
* description: The associated order's original tax total.
* total:
* type: number
* title: total
* description: The associated order's total.
* subtotal:
* type: number
* title: subtotal
* description: The claim's subtotal.
* tax_total:
* type: number
* title: tax_total
* description: The claim's tax total.
* discount_total:
* type: number
* title: discount_total
* description: The claim's discount total.
* discount_tax_total:
* type: number
* title: discount_tax_total
* description: The claim's discount tax total.
* gift_card_total:
* type: number
* title: gift_card_total
* description: The claim's gift card total.
* gift_card_tax_total:
* type: number
* title: gift_card_tax_total
* description: The claim's gift card tax total.
* shipping_total:
* type: number
* title: shipping_total
* description: The claim's shipping total.
* shipping_subtotal:
* type: number
* title: shipping_subtotal
* description: The claim's shipping subtotal.
* shipping_tax_total:
* type: number
* title: shipping_tax_total
* description: The claim's shipping tax total.
* original_shipping_total:
* type: number
* title: original_shipping_total
* description: The associated order's original shipping total.
* original_shipping_subtotal:
* type: number
* title: original_shipping_subtotal
* description: The associated order's original shipping subtotal.
* original_shipping_tax_total:
* type: number
* title: original_shipping_tax_total
* description: The associated order's original shipping tax total.
* order:
* $ref: "#/components/schemas/AdminOrder"
* type:
* type: string
* description: The claim's type.
* enum:
* - replace
* - refund
* order_version:
* type: string
* title: order_version
* description: The version of the order when the claim is applied.
* created_by:
* type: string
* title: created_by
* description: The ID of the user that created the claim.
* canceled_at:
* type: string
* title: canceled_at
* description: The date the claim was canceled.
* format: date-time
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the claim was deleted.
*
*/
@@ -0,0 +1,18 @@
/**
* @schema AdminCreateProductType
* type: object
* description: The details of the product type to create.
* x-schemaName: AdminCreateProductType
* required:
* - value
* properties:
* metadata:
* type: object
* description: The product's metadata, used to store custom key-value pairs.
* value:
* type: string
* title: value
* description: The product type's value.
*
*/
@@ -0,0 +1,20 @@
/**
* @schema AdminCreateProductVariantInventoryKit
* type: object
* description: The details of a variant's inventory item.
* x-schemaName: AdminCreateProductVariantInventoryKit
* required:
* - inventory_item_id
* properties:
* inventory_item_id:
* type: string
* title: inventory_item_id
* description: The inventory item's ID.
* required_quantity:
* type: number
* title: required_quantity
* description: The number of units a single quantity is equivalent to. For example, if a customer orders one quantity of the variant, Medusa checks the availability of the quantity multiplied by the
* value set for `required_quantity`. When the customer orders the quantity, Medusa reserves the ordered quantity multiplied by the value set for `required_quantity`.
*
*/
@@ -28,6 +28,13 @@
* description: The price's rules.
* example:
* region_id: reg_123
* properties:
* region_id:
* type: string
* title: region_id
* description: The ID of a region.
* required:
* - region_id
*
*/
@@ -0,0 +1,31 @@
/**
* @schema AdminCreateReturnReason
* type: object
* description: The details of a return reason to create.
* x-schemaName: AdminCreateReturnReason
* required:
* - value
* - label
* properties:
* value:
* type: string
* title: value
* description: The return reason's value.
* label:
* type: string
* title: label
* description: The return reason's label.
* description:
* type: string
* title: description
* description: The return reason's description.
* parent_return_reason_id:
* type: string
* title: parent_return_reason_id
* description: The ID of the parent return reason.
* metadata:
* type: object
* description: The return reason's metadata, can hold custom key-value pairs.
*
*/
@@ -1,7 +1,7 @@
/**
* @schema AdminCustomerGroupResponse
* type: object
* description: SUMMARY
* description: The customer group's details.
* x-schemaName: AdminCustomerGroupResponse
* required:
* - customer_group
@@ -1,7 +1,7 @@
/**
* @schema AdminCustomerResponse
* type: object
* description: SUMMARY
* description: The customer's details.
* x-schemaName: AdminCustomerResponse
* required:
* - customer
@@ -4,44 +4,14 @@
* description: The exchange's details.
* x-schemaName: AdminExchange
* required:
* - order_id
* - return_items
* - additional_items
* - currency_code
* - id
* - region_id
* - customer_id
* - sales_channel_id
* - email
* - shipping_methods
* - payment_status
* - fulfillment_status
* - summary
* - metadata
* - order_id
* - created_at
* - updated_at
* - original_item_total
* - original_item_subtotal
* - original_item_tax_total
* - item_total
* - item_subtotal
* - item_tax_total
* - original_total
* - original_subtotal
* - original_tax_total
* - total
* - subtotal
* - tax_total
* - discount_total
* - discount_tax_total
* - gift_card_total
* - gift_card_tax_total
* - shipping_total
* - shipping_subtotal
* - shipping_tax_total
* - original_shipping_total
* - original_shipping_subtotal
* - original_shipping_tax_total
* - canceled_at
* - deleted_at
* - additional_items
* - return_items
* properties:
* order_id:
* type: string
@@ -66,88 +36,24 @@
* title: difference_due
* description: The amount to be exchanged or refunded. If the amount is negative, it must be refunded. If positive, additional payment is required from the customer.
* return:
* description: the return associated with the exchange.
* $ref: "#/components/schemas/AdminReturn"
* return_id:
* type: string
* title: return_id
* description: The ID of the associated exchange.
* currency_code:
* type: string
* title: currency_code
* description: The exchange's currency code.
* id:
* type: string
* title: id
* description: The exchange's ID.
* region_id:
* type: string
* title: region_id
* description: The ID of the associated order's region.
* customer_id:
* type: string
* title: customer_id
* description: The ID of the customer that placed the order.
* sales_channel_id:
* type: string
* title: sales_channel_id
* description: The ID of the sales channel the associated order belongs to.
* email:
* type: string
* title: email
* description: The email used when placing the order.
* format: email
* display_id:
* type: number
* type: string
* title: display_id
* description: The exchange's display ID.
* shipping_address:
* description: The shipping address to send new items to.
* $ref: "#/components/schemas/BaseOrderAddress"
* billing_address:
* description: The customer's billing address.
* $ref: "#/components/schemas/BaseOrderAddress"
* shipping_methods:
* type: array
* description: The shipping methods used to send the new (outbound) items.
* items:
* $ref: "#/components/schemas/BaseOrderShippingMethod"
* payment_collections:
* type: array
* description: The exchange's payment collections.
* items:
* $ref: "#/components/schemas/BasePaymentCollection"
* payment_status:
* type: string
* description: The exchange's payment status.
* enum:
* - canceled
* - not_paid
* - awaiting
* - authorized
* - partially_authorized
* - captured
* - partially_captured
* - partially_refunded
* - refunded
* - requires_action
* fulfillments:
* type: array
* description: The exchange's fulfillments of new (outbound) items.
* items:
* $ref: "#/components/schemas/BaseOrderFulfillment"
* fulfillment_status:
* type: string
* description: The exchange's fulfillment status.
* enum:
* - canceled
* - not_fulfilled
* - partially_fulfilled
* - fulfilled
* - partially_shipped
* - shipped
* - partially_delivered
* - delivered
* transactions:
* type: array
* description: The exchange's transactions.
@@ -155,9 +61,6 @@
* url: https://docs.medusajs.com/v2/resources/commerce-modules/order/transactions
* items:
* $ref: "#/components/schemas/BaseOrderTransaction"
* summary:
* description: The totals summary of the exchange.
* $ref: "#/components/schemas/BaseOrderSummary"
* metadata:
* type: object
* description: The exchange's metadata, can hold custom key-value pairs.
@@ -171,94 +74,30 @@
* format: date-time
* title: updated_at
* description: The date that the exchange was updated.
* original_item_total:
* type: number
* title: original_item_total
* description: The total of the original items in the order.
* original_item_subtotal:
* type: number
* title: original_item_subtotal
* description: The subtotal of the original items in the order.
* original_item_tax_total:
* type: number
* title: original_item_tax_total
* description: The total tax of the original items in the order.
* item_total:
* type: number
* title: item_total
* description: The total of the exchange's new items.
* item_subtotal:
* type: number
* title: item_subtotal
* description: The subtotal of the exchange's new items.
* item_tax_total:
* type: number
* title: item_tax_total
* description: The tax total of the exchange's new items.
* original_total:
* type: number
* title: original_total
* description: The total of the order.
* original_subtotal:
* type: number
* title: original_subtotal
* description: The subtotal of the order.
* original_tax_total:
* type: number
* title: original_tax_total
* description: The tax total of the order.
* total:
* type: number
* title: total
* description: The total of the exchange.
* subtotal:
* type: number
* title: subtotal
* description: The subtotal of the exchange.
* tax_total:
* type: number
* title: tax_total
* description: The tax total of the exchange.
* discount_total:
* type: number
* title: discount_total
* description: The discount total of the exchange.
* discount_tax_total:
* type: number
* title: discount_tax_total
* description: The total taxes on discount of the exchange.
* gift_card_total:
* type: number
* title: gift_card_total
* description: The gift cards total of the exchange.
* gift_card_tax_total:
* type: number
* title: gift_card_tax_total
* description: The total taxes on the gift card of the exchange.
* shipping_total:
* type: number
* title: shipping_total
* description: The exchange's shipping total.
* shipping_subtotal:
* type: number
* title: shipping_subtotal
* description: The exchange's shipping subtotal.
* shipping_tax_total:
* type: number
* title: shipping_tax_total
* description: The exchange's shipping tax total.
* original_shipping_total:
* type: number
* title: original_shipping_total
* description: The order's shipping total.
* original_shipping_subtotal:
* type: number
* title: original_shipping_subtotal
* description: The order's shipping subtotal.
* original_shipping_tax_total:
* type: number
* title: original_shipping_tax_total
* description: The order's shipping tax total.
* order_version:
* type: string
* title: order_version
* description: The version of the order once the exchange is applied.
* created_by:
* type: string
* title: created_by
* description: The ID of the user that created the exchange.
* canceled_at:
* type: string
* title: canceled_at
* description: The date the exchange was canceled.
* format: date-time
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the exchange was deleted.
* order:
* $ref: "#/components/schemas/AdminOrder"
* allow_backorder:
* type: boolean
* title: allow_backorder
* description: Whether variants that are out-of-stock can still be added as additional or outbound items.
*
*/
@@ -0,0 +1,8 @@
/**
* @schema AdminExportProductRequest
* type: object
* description: The export's details
* x-schemaName: AdminExportProductRequest
*
*/
@@ -1,7 +1,7 @@
/**
* @schema AdminFulfillmentSetResponse
* type: object
* description: SUMMARY
* description: The fulfillment set's details.
* x-schemaName: AdminFulfillmentSetResponse
* required:
* - fulfillment_set
@@ -0,0 +1,8 @@
/**
* @schema AdminMarkOrderFulfillmentDelivered
* type: object
* description: SUMMARY
* x-schemaName: AdminMarkOrderFulfillmentDelivered
*
*/
@@ -10,6 +10,7 @@
* - shipped_at
* - delivered_at
* - canceled_at
* - requires_shipping
* - data
* - provider_id
* - shipping_option_id
@@ -71,6 +72,10 @@
* format: date-time
* title: updated_at
* description: The date the fulfillment was updated.
* requires_shipping:
* type: boolean
* title: requires_shipping
* description: Whether the fulfillment requires shipping.
*
*/
@@ -7,19 +7,18 @@
* - return_requested_total
* - order_change
* - currency_code
* - version
* - id
* - created_at
* - updated_at
* - email
* - version
* - region_id
* - customer_id
* - sales_channel_id
* - email
* - payment_collections
* - payment_status
* - fulfillment_status
* - summary
* - metadata
* - created_at
* - updated_at
* - original_item_total
* - original_item_subtotal
* - original_item_tax_total
@@ -48,7 +47,7 @@
* title: return_requested_total
* description: The total of the requested return.
* order_change:
* $ref: "#/components/schemas/BaseOrderChange"
* $ref: "#/components/schemas/AdminOrderChange"
* items:
* type: array
* description: The order's items.
@@ -178,8 +177,8 @@
* description: Whether the item's price includes taxes.
* compare_at_unit_price:
* type: number
* title: The original price of the item before a promotion or sale.
* description: The
* title: compare_at_unit_price
* description: The original price of the item before a promotion or sale.
* unit_price:
* type: number
* title: unit_price
@@ -493,7 +492,7 @@
* type: array
* description: The order's fulfillments.
* items:
* $ref: "#/components/schemas/BaseOrderFulfillment"
* $ref: "#/components/schemas/AdminOrderFulfillment"
* fulfillment_status:
* type: string
* description: The order's fulfillment status.
@@ -0,0 +1,118 @@
/**
* @schema AdminOrderShippingMethod
* type: object
* description: The shipping method's details.
* x-schemaName: AdminOrderShippingMethod
* required:
* - id
* - order_id
* - name
* - amount
* - is_tax_inclusive
* - shipping_option_id
* - data
* - metadata
* - original_total
* - original_subtotal
* - original_tax_total
* - total
* - subtotal
* - tax_total
* - discount_total
* - discount_tax_total
* - created_at
* - updated_at
* properties:
* id:
* type: string
* title: id
* description: The shipping method's ID.
* order_id:
* type: string
* title: order_id
* description: The ID of the order the shipping method belongs to.
* name:
* type: string
* title: name
* description: The shipping method's name.
* description:
* type: string
* title: description
* description: The shipping method's description.
* amount:
* type: number
* title: amount
* description: The shipping method's amount.
* is_tax_inclusive:
* type: boolean
* title: is_tax_inclusive
* description: Whether the shipping method's amount includes applied taxes.
* shipping_option_id:
* type: string
* title: shipping_option_id
* description: The ID of the shipping option this method was created from.
* data:
* type: object
* description: The shipping method's data, useful for fulfillment provider handling its fulfillment.
* externalDocs:
* url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property
* metadata:
* type: object
* description: The shipping method's metadata, can hold custom key-value pairs.
* tax_lines:
* type: array
* description: The shipping method's tax lines.
* items:
* $ref: "#/components/schemas/BaseOrderShippingMethodTaxLine"
* adjustments:
* type: array
* description: The shipping method's adjustments.
* items:
* $ref: "#/components/schemas/BaseOrderShippingMethodAdjustment"
* original_total:
* type: number
* title: original_total
* description: The shipping method's total including taxes, excluding promotions.
* original_subtotal:
* type: number
* title: original_subtotal
* description: The shipping method's total excluding taxes, including promotions.
* original_tax_total:
* type: number
* title: original_tax_total
* description: The shipping method's total taxes excluding promotions.
* total:
* type: number
* title: total
* description: The shipping method's total including taxes and promotions.
* subtotal:
* type: number
* title: subtotal
* description: The shipping method's total excluding taxes, including promotions.
* tax_total:
* type: number
* title: tax_total
* description: The shipping method's tax total including promotions.
* discount_total:
* type: number
* title: discount_total
* description: The total discounts applied on the shipping method.
* discount_tax_total:
* type: number
* title: discount_tax_total
* description: The taxes applied on the discount amount.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the shipping method was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the shipping method was updated.
* detail:
* $ref: "#/components/schemas/BaseOrderShippingDetail"
*
*/
@@ -0,0 +1,63 @@
/**
* @schema AdminPaymentSession
* type: object
* description: The payment session's details.
* x-schemaName: AdminPaymentSession
* properties:
* id:
* type: string
* title: id
* description: The payment session's ID.
* amount:
* type: number
* title: amount
* description: The payment session's amount.
* currency_code:
* type: string
* title: currency_code
* description: The payment session's currency code.
* example: usd
* provider_id:
* type: string
* title: provider_id
* description: The ID of the payment provider processing this session.
* data:
* type: object
* description: The payment session's data, useful for the payment provider processing the payment.
* externalDocs:
* url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment-session#data-property
* context:
* type: object
* description: The context around the payment, such as the customer's details.
* example:
* customer:
* id: cus_123
* status:
* type: string
* description: The payment session's status.
* enum:
* - authorized
* - captured
* - canceled
* - pending
* - requires_more
* - error
* authorized_at:
* type: string
* title: authorized_at
* description: The date the payment session was authorized.
* format: date-time
* payment_collection:
* $ref: "#/components/schemas/AdminPaymentCollection"
* payment:
* $ref: "#/components/schemas/BasePayment"
* required:
* - id
* - amount
* - currency_code
* - provider_id
* - data
* - status
*
*/
@@ -0,0 +1,38 @@
/**
* @schema AdminProductImage
* type: object
* description: The image's details.
* x-schemaName: AdminProductImage
* properties:
* id:
* type: string
* title: id
* description: The image's ID.
* url:
* type: string
* title: url
* description: The image's URL.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the image was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the image was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the image was deleted.
* metadata:
* type: object
* description: The image's metadata, can hold custom key-value pairs.
* required:
* - id
* - url
*
*/
@@ -0,0 +1,44 @@
/**
* @schema AdminProductOptionValue
* type: object
* description: The product option value's details.
* x-schemaName: AdminProductOptionValue
* required:
* - id
* - value
* properties:
* id:
* type: string
* title: id
* description: The value's ID.
* value:
* type: string
* title: value
* description: The value.
* option:
* $ref: "#/components/schemas/AdminProductOption"
* option_id:
* type: string
* title: option_id
* description: The ID of the option this value belongs to.
* metadata:
* type: object
* description: The value's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the value was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the value was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the value was deleted.
*
*/
@@ -4,10 +4,10 @@
* description: The details of an association between a product variant and an inventory item.
* x-schemaName: AdminProductVariantInventoryLink
* required:
* - productService
* - inventoryService
* - Product
* - Inventory
* properties:
* productService:
* Product:
* type: object
* description: The product variant's details.
* required:
@@ -17,7 +17,7 @@
* type: string
* title: variant_id
* description: The ID of the product variant.
* inventoryService:
* Inventory:
* type: object
* description: The inventory item's details.
* required:
@@ -0,0 +1,43 @@
/**
* @schema AdminRefund
* type: object
* description: The refund's details.
* x-schemaName: AdminRefund
* required:
* - id
* - amount
* - created_at
* - payment
* properties:
* id:
* type: string
* title: id
* description: The refund's ID.
* amount:
* type: number
* title: amount
* description: The refund's amount.
* refund_reason_id:
* type: string
* title: refund_reason_id
* description: The ID of the refund reason.
* note:
* type: string
* title: note
* description: More details about the refund.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the refund was created.
* created_by:
* type: string
* title: created_by
* description: The ID of the user that created the refund.
* payment:
* $ref: "#/components/schemas/BasePayment"
* refund_reason:
* $ref: "#/components/schemas/RefundReason"
*
*/
@@ -4,11 +4,11 @@
* description: The return's details.
* x-schemaName: AdminReturn
* required:
* - items
* - id
* - order_id
* - order_version
* - display_id
* - items
* - received_at
* - created_at
* - canceled_at
@@ -17,51 +17,27 @@
* type: string
* title: id
* description: The return's ID.
* order_id:
* type: string
* title: order_id
* description: The ID of the order this return is created for.
* status:
* type: string
* title: status
* description: The return's status.
* exchange_id:
* type: string
* title: exchange_id
* description: The ID of the exchange that this return belongs to.
* location_id:
* type: string
* title: location_id
* description: The ID of the location the items are returned to.
* claim_id:
* type: string
* title: claim_id
* description: The ID of the claim that this return belongs to.
* order_version:
* type: number
* title: order_version
* description: The version of the order once the return is applied.
* display_id:
* type: number
* title: display_id
* description: The return's display id.
* no_notification:
* type: boolean
* title: no_notification
* description: Whether the customer should receive notifications about the return's updates.
* enum:
* - canceled
* - requested
* - received
* - partially_received
* refund_amount:
* type: number
* title: refund_amount
* description: The amount to refund as a result of the return.
* description: The amount refunded by this return.
* order_id:
* type: string
* title: order_id
* description: The ID of the associated order.
* items:
* type: array
* description: The return's items.
* items:
* $ref: "#/components/schemas/BaseReturnItem"
* received_at:
* type: string
* title: received_at
* description: The date the return was received.
* $ref: "#/components/schemas/AdminReturnItem"
* created_at:
* type: string
* format: date-time
@@ -71,6 +47,35 @@
* type: string
* title: canceled_at
* description: The date the return was canceled.
* format: date-time
* exchange_id:
* type: string
* title: exchange_id
* description: The return's exchange id.
* location_id:
* type: string
* title: location_id
* description: The return's location id.
* claim_id:
* type: string
* title: claim_id
* description: The return's claim id.
* order_version:
* type: number
* title: order_version
* description: The return's order version.
* display_id:
* type: number
* title: display_id
* description: The return's display id.
* no_notification:
* type: boolean
* title: no_notification
* description: Whether the customer should receive notifications about the return's updates.
* received_at:
* type: string
* title: received_at
* description: The date the return was received.
*
*/
@@ -0,0 +1,27 @@
/**
* @schema AdminUpdateReturnReason
* type: object
* description: The details to update in a return reason.
* x-schemaName: AdminUpdateReturnReason
* properties:
* label:
* type: string
* title: label
* description: The return reason's label.
* value:
* type: string
* title: value
* description: The return reason's value.
* description:
* type: string
* title: description
* description: The return reason's description.
* metadata:
* type: object
* description: The return reason's metadata, can hold custom key-value pairs.
* required:
* - value
* - label
*
*/
@@ -1,7 +1,7 @@
/**
* @schema BaseCalculatedPriceSet
* type: object
* description: The parent's calculated price.
* description: The calculated price's details.
* x-schemaName: BaseCalculatedPriceSet
* required:
* - id
@@ -16,45 +16,100 @@
* is_calculated_price_price_list:
* type: boolean
* title: is_calculated_price_price_list
* description: The calculated price's is calculated price price list.
* description: Whether the calculated price belongs to a price list.
* is_calculated_price_tax_inclusive:
* type: boolean
* title: is_calculated_price_tax_inclusive
* description: The calculated price's is calculated price tax inclusive.
* description: Whether the calculated price is tax inclusive.
* calculated_amount:
* type: number
* title: calculated_amount
* description: The calculated price's calculated amount.
* description: The amount of the calculated price, or `null` if there isn't a calculated price. This is the amount shown to the customer.
* calculated_amount_with_tax:
* type: number
* title: calculated_amount_with_tax
* description: The calculated price's calculated amount with tax.
* description: The calculated price's amount with taxes applied.
* calculated_amount_without_tax:
* type: number
* title: calculated_amount_without_tax
* description: The calculated price's calculated amount without tax.
* description: The calculated price's amount without taxes applied.
* is_original_price_price_list:
* type: boolean
* title: is_original_price_price_list
* description: The calculated price's is original price price list.
* description: Whether the original price belongs to a price list.
* is_original_price_tax_inclusive:
* type: boolean
* title: is_original_price_tax_inclusive
* description: The calculated price's is original price tax inclusive.
* description: Whether the original price is tax inclusive.
* original_amount:
* type: number
* title: original_amount
* description: The calculated price's original amount.
* description: The amount of the original price, or `null` if there isn't an original price. This amount is useful to compare with the `calculated_amount`, such as to check for discounted value.
* currency_code:
* type: string
* title: currency_code
* description: The calculated price's currency code.
* example: usd
* calculated_price:
* type: object
* description: The calculated price's details.
* properties:
* id:
* type: string
* title: id
* description: The calculated price's ID.
* price_list_id:
* type: string
* title: price_list_id
* description: The ID of the price list that the price belongs to.
* price_list_type:
* type: string
* title: price_list_type
* description: The price list's type. For example, `sale`.
* min_quantity:
* type: number
* title: min_quantity
* description: The minimum quantity required in the cart for this price to apply.
* max_quantity:
* type: number
* title: max_quantity
* description: The maximum quantity required in the cart for this price to apply.
* required:
* - id
* - price_list_id
* - price_list_type
* - min_quantity
* - max_quantity
* original_price:
* type: object
* description: The calculated price's original price.
* description: The original price's details.
* properties:
* id:
* type: string
* title: id
* description: The original price's ID.
* price_list_id:
* type: string
* title: price_list_id
* description: The ID of the price list that the price belongs to.
* price_list_type:
* type: string
* title: price_list_type
* description: The price list's type. For example, `sale`.
* min_quantity:
* type: number
* title: min_quantity
* description: The minimum quantity required in the cart for this price to apply.
* max_quantity:
* type: number
* title: max_quantity
* description: The maximum quantity required in the cart for this price to apply.
* required:
* - id
* - price_list_id
* - price_list_type
* - min_quantity
* - max_quantity
*
*/
@@ -0,0 +1,78 @@
/**
* @schema BaseCustomer
* type: object
* description: The customer's details.
* x-schemaName: BaseCustomer
* required:
* - id
* - email
* - default_billing_address_id
* - default_shipping_address_id
* - company_name
* - first_name
* - last_name
* - addresses
* properties:
* id:
* type: string
* title: id
* description: The customer's ID.
* email:
* type: string
* title: email
* description: The customer's email.
* format: email
* default_billing_address_id:
* type: string
* title: default_billing_address_id
* description: The ID of the address used as the default billing address.
* default_shipping_address_id:
* type: string
* title: default_shipping_address_id
* description: The ID of the address used as the default shipping address.
* company_name:
* type: string
* title: company_name
* description: The customer's company name.
* first_name:
* type: string
* title: first_name
* description: The customer's first name.
* last_name:
* type: string
* title: last_name
* description: The customer's last name.
* addresses:
* type: array
* description: The customer's addresses.
* items:
* $ref: "#/components/schemas/BaseCustomerAddress"
* phone:
* type: string
* title: phone
* description: The customer's phone.
* metadata:
* type: object
* description: The customer's metadata, used to store custom key-value pairs.
* created_by:
* type: string
* title: created_by
* description: The ID of the user that created this customer, if available.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The customer's creation date.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The customer's update date.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The customer's deletion date.
*
*/
@@ -0,0 +1,102 @@
/**
* @schema BaseCustomerAddress
* type: object
* description: The customer's address.
* x-schemaName: BaseCustomerAddress
* required:
* - id
* - address_name
* - is_default_shipping
* - is_default_billing
* - customer_id
* - company
* - first_name
* - last_name
* - address_1
* - address_2
* - city
* - country_code
* - province
* - postal_code
* - phone
* - metadata
* - created_at
* - updated_at
* properties:
* id:
* type: string
* title: id
* description: The address's ID.
* address_name:
* type: string
* title: address_name
* description: The address's name.
* is_default_shipping:
* type: boolean
* title: is_default_shipping
* description: Whether the address is the default shipping address.
* is_default_billing:
* type: boolean
* title: is_default_billing
* description: Whether the address is the default billing address.
* customer_id:
* type: string
* title: customer_id
* description: The ID of the customer that this address belongs to.
* company:
* type: string
* title: company
* description: The customer's company.
* first_name:
* type: string
* title: first_name
* description: The customer's first name.
* last_name:
* type: string
* title: last_name
* description: The customer's last name.
* address_1:
* type: string
* title: address_1
* description: The address's first line.
* address_2:
* type: string
* title: address_2
* description: The address's second line.
* city:
* type: string
* title: city
* description: The address's city.
* country_code:
* type: string
* title: country_code
* description: The address's country code.
* example: us
* province:
* type: string
* title: province
* description: The address's province.
* postal_code:
* type: string
* title: postal_code
* description: The address's postal code.
* phone:
* type: string
* title: phone
* description: The address's phone.
* metadata:
* type: object
* description: The address's metadata, used to store custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The address's creation date.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The address's update date.
*
*/
@@ -1,8 +1,133 @@
/**
* @schema BaseProductVariant
* type: object
* description: The variant's variants.
* description: The product variant's details.
* x-schemaName: BaseProductVariant
* required:
* - id
* - title
* - sku
* - barcode
* - ean
* - upc
* - allow_backorder
* - manage_inventory
* - hs_code
* - origin_country
* - mid_code
* - material
* - weight
* - length
* - height
* - width
* - options
* - created_at
* - updated_at
* - deleted_at
* properties:
* id:
* type: string
* title: id
* description: The variant's ID.
* title:
* type: string
* title: title
* description: The variant's title.
* sku:
* type: string
* title: sku
* description: The variant's SKU.
* barcode:
* type: string
* title: barcode
* description: The variant's barcode.
* ean:
* type: string
* title: ean
* description: The variant's EAN code.
* upc:
* type: string
* title: upc
* description: The variant's UPC.
* allow_backorder:
* type: boolean
* title: allow_backorder
* description: Whether the variant can be ordered even if it's out of stock.
* manage_inventory:
* type: boolean
* title: manage_inventory
* description: Whether the Medusa application manages the variant's inventory quantity and availablility. If disabled, the variant is always considered in stock.
* inventory_quantity:
* type: number
* title: inventory_quantity
* description: The variant's inventory quantity. This is only included if you pass in the `fields` query parameter a `+variants.inventory_quantity` parameter.
* hs_code:
* type: string
* title: hs_code
* description: The variant's HS code.
* origin_country:
* type: string
* title: origin_country
* description: The variant's origin country.
* mid_code:
* type: string
* title: mid_code
* description: The variant's MID code.
* material:
* type: string
* title: material
* description: The variant's material.
* weight:
* type: number
* title: weight
* description: The variant's weight.
* length:
* type: number
* title: length
* description: The variant's length.
* height:
* type: number
* title: height
* description: The variant's height.
* width:
* type: number
* title: width
* description: The variant's width.
* variant_rank:
* type: number
* title: variant_rank
* description: The variant's rank among its sibling variants.
* options:
* type: array
* description: The variant's option values.
* items:
* $ref: "#/components/schemas/BaseProductOptionValue"
* product:
* $ref: "#/components/schemas/BaseProduct"
* product_id:
* type: string
* title: product_id
* description: The ID of the product that the variant belongs to.
* calculated_price:
* $ref: "#/components/schemas/BaseCalculatedPriceSet"
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the variant was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the variant was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the variant was deleted.
* metadata:
* type: object
* description: The variant's metadata, can hold custom key-value pairs.
*
*/
@@ -1,7 +1,7 @@
/**
* @schema CreateOrderReturnReason
* type: object
* description: SUMMARY
* description: The details of the return reason to create.
* x-schemaName: CreateOrderReturnReason
* required:
* - value
@@ -0,0 +1,40 @@
/**
* @schema RefundReason
* type: object
* description: The refund reason's details.
* x-schemaName: RefundReason
* required:
* - id
* - label
* - metadata
* - created_at
* - updated_at
* properties:
* id:
* type: string
* title: id
* description: The refund reason's ID.
* label:
* type: string
* title: label
* description: The refund reason's label.
* description:
* type: string
* title: description
* description: The refund reason's description.
* metadata:
* type: object
* description: The refund reason's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the refund reason was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the refund reason was updated.
*
*/
@@ -0,0 +1,113 @@
/**
* @schema StoreCartShippingMethod
* type: object
* description: A cart's shipping method.
* x-schemaName: StoreCartShippingMethod
* required:
* - id
* - cart_id
* - name
* - amount
* - is_tax_inclusive
* - created_at
* - updated_at
* - original_total
* - original_subtotal
* - original_tax_total
* - total
* - subtotal
* - tax_total
* - discount_total
* - discount_tax_total
* properties:
* id:
* type: string
* title: id
* description: The shipping method's ID.
* cart_id:
* type: string
* title: cart_id
* description: The ID of the cart this shipping method belongs to.
* name:
* type: string
* title: name
* description: The shipping method's name.
* description:
* type: string
* title: description
* description: The shipping method's description.
* amount:
* type: number
* title: amount
* description: The shipping method's amount.
* is_tax_inclusive:
* type: boolean
* title: is_tax_inclusive
* description: Whether the shipping method's amount is tax inclusive.
* shipping_option_id:
* type: string
* title: shipping_option_id
* description: The ID of the shipping option this method was created from.
* data:
* type: object
* description: The shipping method's data, useful for fulfillment handling by third-party services.
* externalDocs:
* url: https://docs.medusajs.com/v2/resources/commerce-modules/cart/concepts#data-property
* metadata:
* type: object
* description: The shipping method's metadata, can hold custom key-value pairs.
* tax_lines:
* type: array
* description: The shipping method's tax lines.
* items:
* $ref: "#/components/schemas/BaseShippingMethodTaxLine"
* adjustments:
* type: array
* description: The shipping method's adjustments, such as applied promotions.
* items:
* $ref: "#/components/schemas/BaseShippingMethodAdjustment"
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the shipping method was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the shipping method was updated.
* original_total:
* type: number
* title: original_total
* description: The shipping method's total including taxes, excluding promotions.
* original_subtotal:
* type: number
* title: original_subtotal
* description: The shipping method's total excluding taxes, including promotions.
* original_tax_total:
* type: number
* title: original_tax_total
* description: The total taxes applied on the shipping method's amount including promotions.
* total:
* type: number
* title: total
* description: The shipping method's total amount including taxes and promotions.
* subtotal:
* type: number
* title: subtotal
* description: The shipping method's total amount excluding taxes, including promotions.
* tax_total:
* type: number
* title: tax_total
* description: The total taxes applied on the shipping method's amount including promotions.
* discount_total:
* type: number
* title: discount_total
* description: The total amount discounted.
* discount_tax_total:
* type: number
* title: discount_tax_total
* description: The taxes applied on the discounted amount.
*
*/
@@ -0,0 +1,78 @@
/**
* @schema StoreOrderAddress
* type: object
* description: The address's details.
* x-schemaName: StoreOrderAddress
* required:
* - id
* - metadata
* - created_at
* - updated_at
* properties:
* country:
* $ref: "#/components/schemas/StoreRegionCountry"
* id:
* type: string
* title: id
* description: The address's ID.
* customer_id:
* type: string
* title: customer_id
* description: The ID of the customer this address belongs to.
* first_name:
* type: string
* title: first_name
* description: The address's first name.
* last_name:
* type: string
* title: last_name
* description: The address's last name.
* phone:
* type: string
* title: phone
* description: The address's phone.
* company:
* type: string
* title: company
* description: The address's company.
* address_1:
* type: string
* title: address_1
* description: The address's first line.
* address_2:
* type: string
* title: address_2
* description: The address's second line.
* city:
* type: string
* title: city
* description: The address's city.
* country_code:
* type: string
* title: country_code
* description: The address's country code.
* example: us
* province:
* type: string
* title: province
* description: The address's province.
* postal_code:
* type: string
* title: postal_code
* description: The address's postal code.
* metadata:
* type: object
* description: The address's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the address was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the address was updated.
*
*/
@@ -0,0 +1,81 @@
/**
* @schema StoreOrderFulfillment
* type: object
* description: The fulfillment's details.
* x-schemaName: StoreOrderFulfillment
* required:
* - id
* - location_id
* - packed_at
* - shipped_at
* - delivered_at
* - canceled_at
* - requires_shipping
* - data
* - provider_id
* - shipping_option_id
* - metadata
* - created_at
* - updated_at
* properties:
* id:
* type: string
* title: id
* description: The fulfillment's ID.
* location_id:
* type: string
* title: location_id
* description: The ID of the location the items are fulfilled from.
* packed_at:
* type: string
* title: packed_at
* description: The date the fulfillment was packed.
* format: date-time
* shipped_at:
* type: string
* title: shipped_at
* description: The date the fulfillment was shipped.
* format: date-time
* delivered_at:
* type: string
* title: delivered_at
* description: The date the fulfillment was delivered.
* format: date-time
* canceled_at:
* type: string
* title: canceled_at
* description: The date the fulfillment was canceled.
* format: date-time
* requires_shipping:
* type: boolean
* title: requires_shipping
* description: Whether the fulfillment requires shipping.
* data:
* type: object
* description: The fulfillment's data, useful for the fulfillment providering handling it.
* externalDocs:
* url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/item-fulfillment#data-property
* provider_id:
* type: string
* title: provider_id
* description: The ID of the provider handling this fulfillment.
* shipping_option_id:
* type: string
* title: shipping_option_id
* description: The ID of the associated shipping option.
* metadata:
* type: object
* description: The fulfillment's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the fulfillment was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the fulfillment was updated.
*
*/
@@ -0,0 +1,218 @@
/**
* @schema StoreOrderLineItem
* type: object
* description: The item's details.
* x-schemaName: StoreOrderLineItem
* required:
* - title
* - id
* - metadata
* - created_at
* - updated_at
* - item_total
* - item_subtotal
* - item_tax_total
* - original_total
* - original_subtotal
* - original_tax_total
* - total
* - subtotal
* - tax_total
* - discount_total
* - discount_tax_total
* - subtitle
* - thumbnail
* - variant_id
* - product_id
* - product_title
* - product_description
* - product_subtitle
* - product_type
* - product_collection
* - product_handle
* - variant_sku
* - variant_barcode
* - variant_title
* - variant_option_values
* - requires_shipping
* - is_discountable
* - is_tax_inclusive
* - unit_price
* - quantity
* - detail
* - refundable_total
* - refundable_total_per_unit
* properties:
* variant:
* $ref: "#/components/schemas/StoreProductVariant"
* product:
* $ref: "#/components/schemas/StoreProduct"
* title:
* type: string
* title: title
* description: The item's title.
* id:
* type: string
* title: id
* description: The item's ID.
* metadata:
* type: object
* description: The item's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the item was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the item was updated.
* item_total:
* type: number
* title: item_total
* description: The total of a single quantity including taxes and promotions.
* item_subtotal:
* type: number
* title: item_subtotal
* description: The total of a single quantity excluding taxes, including promotions.
* item_tax_total:
* type: number
* title: item_tax_total
* description: The total taxes of a single quantity, including promotions.
* original_total:
* type: number
* title: original_total
* description: The item's total including taxes, excluding promotions.
* original_subtotal:
* type: number
* title: original_subtotal
* description: The item's total excluding taxes, including promotions.
* original_tax_total:
* type: number
* title: original_tax_total
* description: The total taxes of the item, excluding promotions.
* total:
* type: number
* title: total
* description: The item's total including taxes and promotions.
* subtotal:
* type: number
* title: subtotal
* description: The item's total excluding taxes, including promotions.
* tax_total:
* type: number
* title: tax_total
* description: The total taxes of the item, including promotions.
* discount_total:
* type: number
* title: discount_total
* description: The item's discount total.
* discount_tax_total:
* type: number
* title: discount_tax_total
* description: The total taxes applied on the discount amount.
* subtitle:
* type: string
* title: subtitle
* description: The item's subtitle.
* thumbnail:
* type: string
* title: thumbnail
* description: The item's thumbnail URL.
* variant_id:
* type: string
* title: variant_id
* description: The ID of the item's variant.
* product_id:
* type: string
* title: product_id
* description: The ID of the associated product.
* product_title:
* type: string
* title: product_title
* description: The item's product title.
* product_description:
* type: string
* title: product_description
* description: The item's product description.
* product_subtitle:
* type: string
* title: product_subtitle
* description: The item's product subtitle.
* product_type:
* type: string
* title: product_type
* description: The ID of the associated product's type.
* product_collection:
* type: string
* title: product_collection
* description: The ID of the associated product's collection.
* product_handle:
* type: string
* title: product_handle
* description: The item's product handle.
* variant_sku:
* type: string
* title: variant_sku
* description: The item's variant SKU.
* variant_barcode:
* type: string
* title: variant_barcode
* description: The item's variant barcode.
* variant_title:
* type: string
* title: variant_title
* description: The item's variant title.
* variant_option_values:
* type: object
* description: The associated variant's values of the associated product's options.
* example:
* Color: Red
* requires_shipping:
* type: boolean
* title: requires_shipping
* description: Whether the item requires shipping.
* is_discountable:
* type: boolean
* title: is_discountable
* description: Whether the item is discountable.
* is_tax_inclusive:
* type: boolean
* title: is_tax_inclusive
* description: Whether the item includes taxes.
* compare_at_unit_price:
* type: number
* title: compare_at_unit_price
* description: The original price of the item before a promotion or sale.
* unit_price:
* type: number
* title: unit_price
* description: The item's unit price.
* quantity:
* type: number
* title: quantity
* description: The item's quantity.
* tax_lines:
* type: array
* description: The item's tax lines.
* items:
* $ref: "#/components/schemas/BaseOrderLineItemTaxLine"
* adjustments:
* type: array
* description: The item's adjustments.
* items:
* $ref: "#/components/schemas/BaseOrderLineItemAdjustment"
* detail:
* $ref: "#/components/schemas/BaseOrderItemDetail"
* refundable_total:
* type: number
* title: refundable_total
* description: The refundable amount of the item.
* refundable_total_per_unit:
* type: number
* title: refundable_total_per_unit
* description: The refundable amount for a single quantity of the item.
*
*/
@@ -0,0 +1,118 @@
/**
* @schema StoreOrderShippingMethod
* type: object
* description: The shipping method's details.
* x-schemaName: StoreOrderShippingMethod
* required:
* - id
* - order_id
* - name
* - amount
* - is_tax_inclusive
* - shipping_option_id
* - data
* - metadata
* - original_total
* - original_subtotal
* - original_tax_total
* - total
* - subtotal
* - tax_total
* - discount_total
* - discount_tax_total
* - created_at
* - updated_at
* properties:
* id:
* type: string
* title: id
* description: The shipping method's ID.
* order_id:
* type: string
* title: order_id
* description: The ID of the associated order.
* name:
* type: string
* title: name
* description: The shipping method's name.
* description:
* type: string
* title: description
* description: The shipping method's description.
* amount:
* type: number
* title: amount
* description: The shipping method's amount.
* is_tax_inclusive:
* type: boolean
* title: is_tax_inclusive
* description: Whether the shipping method's amount includes taxes.
* shipping_option_id:
* type: string
* title: shipping_option_id
* description: The ID of the associated shipping method.
* data:
* type: object
* description: The shipping method's data, useful for the provider handling its fulfillment.
* externalDocs:
* url: https://docs.medusajs.com/v2/resources/commerce-modules/order/concepts#data-property
* metadata:
* type: object
* description: The shipping method's metadata, can hold custom key-value pairs.
* tax_lines:
* type: array
* description: The shipping method's tax lines.
* items:
* $ref: "#/components/schemas/BaseOrderShippingMethodTaxLine"
* adjustments:
* type: array
* description: The shipping method's adjustments.
* items:
* $ref: "#/components/schemas/BaseOrderShippingMethodAdjustment"
* original_total:
* type: number
* title: original_total
* description: The total of the shipping method including taxes, excluding promotions.
* original_subtotal:
* type: number
* title: original_subtotal
* description: The total of the shipping method excluding taxes, including promotions.
* original_tax_total:
* type: number
* title: original_tax_total
* description: The total taxes of the shipping method, excluding promotion.
* total:
* type: number
* title: total
* description: The total of the shipping method including taxes and promotions.
* detail:
* $ref: "#/components/schemas/BaseOrderShippingDetail"
* subtotal:
* type: number
* title: subtotal
* description: The shipping method's subtotal.
* tax_total:
* type: number
* title: tax_total
* description: The shipping method's tax total.
* discount_total:
* type: number
* title: discount_total
* description: The shipping method's discount total.
* discount_tax_total:
* type: number
* title: discount_tax_total
* description: The shipping method's discount tax total.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the shipping method was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the shipping method was updated.
*
*/
@@ -4,12 +4,12 @@
* description: The payment collection's details.
* x-schemaName: StorePaymentCollection
* required:
* - payment_providers
* - id
* - currency_code
* - region_id
* - amount
* - status
* - payment_providers
* properties:
* id:
* type: string
@@ -19,32 +19,31 @@
* type: string
* title: currency_code
* description: The payment collection's currency code.
* example: usd
* region_id:
* type: string
* title: region_id
* description: The ID of the associated region.
* description: The ID of the region this payment collection is associated with.
* amount:
* type: number
* title: amount
* description: The payment collection's amount.
* description: The total amount to be paid.
* authorized_amount:
* type: number
* title: authorized_amount
* description: The payment collection's authorized amount.
* description: The total authorized amount of the collection's payments.
* captured_amount:
* type: number
* title: captured_amount
* description: The payment collection's captured amount.
* description: The total captured amount of the collection's payments.
* refunded_amount:
* type: number
* title: refunded_amount
* description: The payment collection's refunded amount.
* description: The total refunded amount of the collection's payments.
* completed_at:
* type: string
* format: date-time
* title: completed_at
* description: The date the payment collection was completed.
* format: date-time
* created_at:
* type: string
* format: date-time
@@ -69,14 +68,14 @@
* - partially_authorized
* payment_providers:
* type: array
* description: The payment collection's payment providers.
* description: The payment provider used to process the collection's payments and sessions.
* items:
* $ref: "#/components/schemas/BasePaymentProvider"
* $ref: "#/components/schemas/StorePaymentProvider"
* payment_sessions:
* type: array
* description: The payment collection's payment sessions.
* items:
* $ref: "#/components/schemas/BasePaymentSession"
* $ref: "#/components/schemas/StorePaymentSession"
* payments:
* type: array
* description: The payment collection's payments.
@@ -0,0 +1,63 @@
/**
* @schema StorePaymentSession
* type: object
* description: The payment session's details.
* x-schemaName: StorePaymentSession
* properties:
* id:
* type: string
* title: id
* description: The payment session's ID.
* amount:
* type: number
* title: amount
* description: The payment session's amount.
* currency_code:
* type: string
* title: currency_code
* description: The payment session's currency code.
* example: usd
* provider_id:
* type: string
* title: provider_id
* description: The ID of the payment provider processing this session.
* data:
* type: object
* description: The payment session's data, useful for the payment provider processing the payment.
* externalDocs:
* url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment-session#data-property
* context:
* type: object
* description: The context around the payment, such as the customer's details.
* example:
* customer:
* id: cus_123
* status:
* type: string
* description: The payment session's status.
* enum:
* - authorized
* - captured
* - canceled
* - pending
* - requires_more
* - error
* authorized_at:
* type: string
* title: authorized_at
* description: The date the payment session was authorized.
* format: date-time
* payment_collection:
* $ref: "#/components/schemas/StorePaymentCollection"
* payment:
* $ref: "#/components/schemas/BasePayment"
* required:
* - id
* - amount
* - currency_code
* - provider_id
* - data
* - status
*
*/
@@ -4,15 +4,14 @@
* description: The product's details.
* x-schemaName: StoreProduct
* required:
* - variants
* - options
* - images
* - length
* - title
* - status
* - options
* - description
* - id
* - created_at
* - updated_at
* - variants
* - handle
* - subtitle
* - is_giftcard
@@ -26,9 +25,10 @@
* - material
* - collection_id
* - type_id
* - images
* - discountable
* - external_id
* - created_at
* - updated_at
* - deleted_at
* properties:
* categories:
@@ -58,7 +58,7 @@
* type: array
* description: The product's options.
* items:
* $ref: "#/components/schemas/BaseProductOption"
* $ref: "#/components/schemas/StoreProductOption"
* description:
* type: string
* title: description
@@ -84,7 +84,7 @@
* type: array
* description: The product's variants.
* items:
* $ref: "#/components/schemas/BaseProductVariant"
* $ref: "#/components/schemas/StoreProductVariant"
* handle:
* type: string
* title: handle
@@ -0,0 +1,38 @@
/**
* @schema StoreProductImage
* type: object
* description: The image's details.
* x-schemaName: StoreProductImage
* required:
* - id
* - url
* properties:
* id:
* type: string
* title: id
* description: The image's ID.
* url:
* type: string
* title: url
* description: The image's URL.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the image was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the image was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the image was deleted.
* metadata:
* type: object
* description: The image's metadata, can hold custom key-value pairs.
*
*/
@@ -0,0 +1,49 @@
/**
* @schema StoreProductOption
* type: object
* description: The product option's details.
* x-schemaName: StoreProductOption
* properties:
* id:
* type: string
* title: id
* description: The option's ID.
* title:
* type: string
* title: title
* description: The option's title.
* product:
* $ref: "#/components/schemas/StoreProduct"
* product_id:
* type: string
* title: product_id
* description: The ID of the product this option belongs to.
* values:
* type: array
* description: The option's values.
* items:
* $ref: "#/components/schemas/StoreProductOptionValue"
* metadata:
* type: object
* description: The option's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the product option was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the product option was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the product option was deleted.
* required:
* - title
* - id
*
*/
@@ -0,0 +1,44 @@
/**
* @schema StoreProductOptionValue
* type: object
* description: The product option value's details.
* x-schemaName: StoreProductOptionValue
* required:
* - value
* - id
* properties:
* id:
* type: string
* title: id
* description: The value's ID.
* value:
* type: string
* title: value
* description: The value.
* option:
* $ref: "#/components/schemas/StoreProductOption"
* option_id:
* type: string
* title: option_id
* description: The ID of the option this value belongs to.
* metadata:
* type: object
* description: The value's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the value was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the value was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the value was deleted.
*
*/
@@ -11,36 +11,21 @@
* $ref: "#/components/schemas/StoreProductOptionValue"
* product:
* $ref: "#/components/schemas/StoreProduct"
* id:
* type: string
* title: id
* description: The variant's ID.
* metadata:
* type: object
* description: The variant's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the variant was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the variant was updated.
* length:
* type: number
* title: length
* description: The variant's length.
* title:
* type: string
* title: title
* description: The variant's title.
* product_id:
* metadata:
* type: object
* description: The variant's metadata, can hold custom key-value pairs.
* id:
* type: string
* title: product_id
* description: The ID of the product that the variant belongs to.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the variant was deleted.
* title: id
* description: The variant's ID.
* width:
* type: number
* title: width
@@ -49,10 +34,6 @@
* type: number
* title: weight
* description: The variant's weight.
* length:
* type: number
* title: length
* description: The variant's length.
* height:
* type: number
* title: height
@@ -73,6 +54,25 @@
* type: string
* title: material
* description: The variant's material.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the variant was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the variant was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the variant was deleted.
* product_id:
* type: string
* title: product_id
* description: The ID of the product this variant belongs to.
* sku:
* type: string
* title: sku
@@ -115,19 +115,19 @@
* $ref: "#/components/schemas/BaseCalculatedPriceSet"
* required:
* - options
* - id
* - created_at
* - updated_at
* - length
* - title
* - deleted_at
* - id
* - width
* - weight
* - length
* - height
* - origin_country
* - hs_code
* - mid_code
* - material
* - created_at
* - updated_at
* - deleted_at
* - sku
* - barcode
* - ean
@@ -0,0 +1,37 @@
/**
* @schema StoreRegionCountry
* type: object
* description: The country's details.
* x-schemaName: StoreRegionCountry
* required:
* - id
* properties:
* id:
* type: string
* title: id
* description: The country's ID.
* iso_2:
* type: string
* title: iso_2
* description: The country's ISO 2 code.
* example: us
* iso_3:
* type: string
* title: iso_3
* description: The country's ISO 3 codel.
* example: usa
* num_code:
* type: string
* title: num_code
* description: The country's num code.
* name:
* type: string
* title: name
* description: The country's name.
* display_name:
* type: string
* title: display_name
* description: The country's display name.
*
*/
@@ -0,0 +1,51 @@
/**
* @schema StoreReturnItem
* type: object
* description: The return item's details.
* x-schemaName: StoreReturnItem
* properties:
* id:
* type: string
* title: id
* description: The item's ID.
* quantity:
* type: number
* title: quantity
* description: The item's quantity.
* received_quantity:
* type: number
* title: received_quantity
* description: The item's received quantity.
* damaged_quantity:
* type: number
* title: damaged_quantity
* description: The item's damaged quantity.
* reason_id:
* type: string
* title: reason_id
* description: The ID of the item's reason.
* note:
* type: string
* title: note
* description: A note with more details on why the item is returned.
* item_id:
* type: string
* title: item_id
* description: The ID of the item in the order.
* return_id:
* type: string
* title: return_id
* description: The ID of the return this item belongs to.
* metadata:
* type: object
* description: The item's metadata, can hold custom key-value pairs.
* required:
* - id
* - quantity
* - received_quantity
* - damaged_quantity
* - item_id
* - return_id
*
*/
@@ -0,0 +1,53 @@
/**
* @schema StoreShippingOptionType
* type: object
* description: The shipping option type's details.
* x-schemaName: StoreShippingOptionType
* required:
* - id
* - label
* - description
* - code
* - shipping_option_id
* - created_at
* - updated_at
* - deleted_at
* properties:
* id:
* type: string
* title: id
* description: The type's ID.
* label:
* type: string
* title: label
* description: The type's label.
* description:
* type: string
* title: description
* description: The type's description.
* code:
* type: string
* title: code
* description: The type's code.
* shipping_option_id:
* type: string
* title: shipping_option_id
* description: The ID of the associated shipping option.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the type was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the type was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the type was deleted.
*
*/
@@ -31,7 +31,7 @@ class OasSchemaHelper {
private schemas: Map<string, OpenApiSchema>
protected schemaRefPrefix = "#/components/schemas/"
protected formatter: Formatter
private MAX_LEVEL = 5
private MAX_LEVEL = 7
/**
* The path to the directory holding the base YAML files.
*/
@@ -356,7 +356,10 @@ class OasSchemaHelper {
return name
.replace("DTO", "")
.replace(this.schemaRefPrefix, "")
.replace(/(?<!(AdminProduct|CreateProduct))Type$/, "")
.replace(
/(?<!(AdminProduct|CreateProduct|StoreShippingOption|AdminShippingOption))Type$/,
""
)
}
/**
@@ -37,34 +37,6 @@ class SchemaFactory {
BigNumberValue: {
type: "number",
},
expand: {
type: "string",
title: "expand",
description:
"Comma-separated relations that should be expanded in the returned data.",
},
fields: {
type: "string",
title: "fields",
description:
"Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.",
},
offset: {
type: "number",
title: "offset",
description: "The number of items to skip when retrieving a list.",
},
limit: {
type: "number",
title: "limit",
description: "Limit the number of items returned in the list.",
},
order: {
type: "string",
title: "order",
description:
"The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`.",
},
File: {
type: "object",
description: "A File to upload.",
@@ -86,6 +58,41 @@ class SchemaFactory {
},
},
}
/**
* Schemas used only for query types
*/
private schemasForQuery: Record<string, OpenApiSchema> = {
expand: {
type: "string",
title: "expand",
description:
"Comma-separated relations that should be expanded in the returned data.",
},
fields: {
type: "string",
title: "fields",
description:
"Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.",
},
offset: {
type: "number",
title: "offset",
description: "The number of items to skip when retrieving a list.",
},
limit: {
type: "number",
title: "limit",
description: "Limit the number of items returned in the list.",
},
order: {
type: "string",
title: "order",
description:
"The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`.",
},
}
/**
* Schemas used only for response types.
*/
@@ -119,7 +126,9 @@ class SchemaFactory {
const schemasFactory =
type === "response"
? this.mergeSchemas(this.schemasForResponse, this.schemas)
: this.cloneSchema(this.schemas)
: type === "query"
? this.mergeSchemas(this.schemasForQuery, this.schemas)
: this.cloneSchema(this.schemas)
const key = Object.hasOwn(schemasFactory, name)
? name
: additionalData?.title || ""
@@ -1391,31 +1391,33 @@ class OasKindGenerator extends FunctionKindGenerator {
case itemType.isUnion():
// if it's a union of literal types,
// consider it an enum
const allLiteral = (itemType as ts.UnionType).types.every((unionType) =>
const cleanedUpTypes = this.typesHelper.cleanUpTypes(
(itemType as ts.UnionType).types
)
const allLiteral = cleanedUpTypes.every((unionType) =>
unionType.isLiteral()
)
if (allLiteral) {
return {
type: "string",
description,
enum: (itemType as ts.UnionType).types.map(
enum: cleanedUpTypes.map(
(unionType) => (unionType as ts.LiteralType).value
),
}
}
const oneOfItems = this.typesHelper
.cleanUpTypes((itemType as ts.UnionType).types)
.map((unionType) =>
this.typeToSchema({
itemType: unionType,
level: maybeIncrementLevel(level, "oneOf"),
title,
descriptionOptions,
saveSchema,
...rest,
})
)
const oneOfItems = cleanedUpTypes.map((unionType) =>
this.typeToSchema({
itemType: unionType,
level: maybeIncrementLevel(level, "oneOf"),
title,
descriptionOptions,
saveSchema,
...rest,
})
)
if (oneOfItems.length === 1) {
return oneOfItems[0]
@@ -1967,7 +1969,7 @@ class OasKindGenerator extends FunctionKindGenerator {
if (!oldSchemaObj && newSchemaObj) {
return newSchemaObj
} else if (!newSchemaObj || !Object.keys(newSchemaObj)) {
} else if (!newSchemaObj || !Object.keys(newSchemaObj).length) {
return undefined
}