diff --git a/www/apps/api-reference/specs/admin/components/schemas/AdminBatchCreateInventoryItemsLocationLevels.yaml b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchCreateInventoryItemsLocationLevels.yaml new file mode 100644 index 0000000000000..41c41d7f54271 --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchCreateInventoryItemsLocationLevels.yaml @@ -0,0 +1,23 @@ +type: object +description: The details of an inventory level to create. +required: + - location_id + - inventory_item_id +properties: + location_id: + type: string + title: location_id + description: The ID of the associated stock location. + inventory_item_id: + type: string + title: inventory_item_id + description: The ID of the associated inventory item. + stocked_quantity: + type: number + title: stocked_quantity + description: The stocked quantity. + incoming_quantity: + type: number + title: incoming_quantity + description: The incoming quantity to be added to stock. +x-schemaName: AdminBatchCreateInventoryItemsLocationLevels diff --git a/www/apps/api-reference/specs/admin/components/schemas/AdminBatchInventoryItemsLocationLevels.yaml b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchInventoryItemsLocationLevels.yaml new file mode 100644 index 0000000000000..7a281e21b402a --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchInventoryItemsLocationLevels.yaml @@ -0,0 +1,31 @@ +type: object +description: The inventory levels to manage. +properties: + create: + type: array + description: The inventory levels to create. + items: + $ref: ./AdminBatchCreateInventoryItemsLocationLevels.yaml + update: + type: array + description: The inventory levels to update. + items: + $ref: ./AdminBatchUpdateInventoryItemsLocationLevels.yaml + delete: + type: array + description: The IDs of the inventory levels to delete. + items: + type: string + title: delete + description: The ID of the inventory level to delete. + force: + type: boolean + title: force + description: >- + Whether to delete specified inventory levels even if they have a non-zero + stocked quantity. +required: + - create + - update + - delete +x-schemaName: AdminBatchInventoryItemsLocationLevels diff --git a/www/apps/api-reference/specs/admin/components/schemas/AdminBatchInventoryItemsLocationLevelsResponse.yaml b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchInventoryItemsLocationLevelsResponse.yaml new file mode 100644 index 0000000000000..f65ff69002b20 --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchInventoryItemsLocationLevelsResponse.yaml @@ -0,0 +1,21 @@ +type: object +description: The result of managing inventory levels. +x-schemaName: AdminBatchInventoryItemsLocationLevelsResponse +properties: + created: + type: array + description: The created inventory levels. + items: + $ref: ./InventoryLevel.yaml + updated: + type: array + description: The updated inventory levels. + items: + $ref: ./InventoryLevel.yaml + deleted: + type: array + description: The IDs of deleted inventory levels. + items: + type: string + title: deleted + description: The ID of a deleted inventory level. diff --git a/www/apps/api-reference/specs/admin/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels.yaml b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels.yaml new file mode 100644 index 0000000000000..fe7876b5ff1a2 --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels.yaml @@ -0,0 +1,27 @@ +type: object +description: The details of an inventory level to update. +required: + - location_id + - inventory_item_id +properties: + location_id: + type: string + title: location_id + description: The ID of the associated stock location. + inventory_item_id: + type: string + title: inventory_item_id + description: The ID of the associated inventory item. + stocked_quantity: + type: number + title: stocked_quantity + description: The stocked quantity. + incoming_quantity: + type: number + title: incoming_quantity + description: The incoming quantity to be added to stock. + id: + type: string + title: id + description: The update's ID. +x-schemaName: AdminBatchUpdateInventoryItemsLocationLevels diff --git a/www/apps/api-reference/specs/admin/components/schemas/AdminShippingOptionRule.yaml b/www/apps/api-reference/specs/admin/components/schemas/AdminShippingOptionRule.yaml index 1fcc34fd59075..2676706b8ee9d 100644 --- a/www/apps/api-reference/specs/admin/components/schemas/AdminShippingOptionRule.yaml +++ b/www/apps/api-reference/specs/admin/components/schemas/AdminShippingOptionRule.yaml @@ -22,9 +22,16 @@ properties: example: is_return operator: type: string - title: operator - description: The shipping option rule's operator. - example: eq + description: The rule's operator. + enum: + - gt + - lt + - eq + - ne + - in + - lte + - gte + - nin value: type: string title: value diff --git a/www/apps/api-reference/specs/admin/components/schemas/StoreProductTagListResponse.yaml b/www/apps/api-reference/specs/admin/components/schemas/StoreProductTagListResponse.yaml new file mode 100644 index 0000000000000..3dc71d398d8bd --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/StoreProductTagListResponse.yaml @@ -0,0 +1,26 @@ +type: object +description: The paginated list of product tags. +x-schemaName: StoreProductTagListResponse +required: + - limit + - offset + - count + - product_tags +properties: + limit: + type: number + title: limit + description: The maximum number of items returned. + offset: + type: number + title: offset + description: The number of items to skip before retrieving the returned items. + count: + type: number + title: count + description: The total number of items available. + product_tags: + type: array + description: The list of product tags. + items: + $ref: ./StoreProductTag.yaml diff --git a/www/apps/api-reference/specs/admin/components/schemas/StoreProductTagResponse.yaml b/www/apps/api-reference/specs/admin/components/schemas/StoreProductTagResponse.yaml new file mode 100644 index 0000000000000..ddb6b7c16f98a --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/StoreProductTagResponse.yaml @@ -0,0 +1,8 @@ +type: object +description: The product tag's details. +x-schemaName: StoreProductTagResponse +required: + - product_tag +properties: + product_tag: + $ref: ./StoreProductTag.yaml diff --git a/www/apps/api-reference/specs/admin/components/schemas/StoreProductTypeListResponse.yaml b/www/apps/api-reference/specs/admin/components/schemas/StoreProductTypeListResponse.yaml new file mode 100644 index 0000000000000..5759dba22637e --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/StoreProductTypeListResponse.yaml @@ -0,0 +1,26 @@ +type: object +description: The paginated list of product types. +x-schemaName: StoreProductTypeListResponse +required: + - limit + - offset + - count + - product_types +properties: + limit: + type: number + title: limit + description: The maximum number of items returned. + offset: + type: number + title: offset + description: The number of items to skip before retrieving the returned items. + count: + type: number + title: count + description: The total number of items available. + product_types: + type: array + description: The list of product types. + items: + $ref: ./StoreProduct.yaml diff --git a/www/apps/api-reference/specs/admin/components/schemas/StoreProductTypeResponse.yaml b/www/apps/api-reference/specs/admin/components/schemas/StoreProductTypeResponse.yaml new file mode 100644 index 0000000000000..329c131c1dc99 --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/StoreProductTypeResponse.yaml @@ -0,0 +1,8 @@ +type: object +description: The product type's details. +x-schemaName: StoreProductTypeResponse +required: + - product_type +properties: + product_type: + $ref: ./StoreProduct.yaml diff --git a/www/apps/api-reference/specs/admin/openapi.full.yaml b/www/apps/api-reference/specs/admin/openapi.full.yaml index bcf4eeea587b6..4cf2c1a5882d6 100644 --- a/www/apps/api-reference/specs/admin/openapi.full.yaml +++ b/www/apps/api-reference/specs/admin/openapi.full.yaml @@ -16709,72 +16709,7 @@ paths: content: application/json: schema: - type: object - description: The inventory levels to manage. - properties: - create: - type: array - description: The inventory levels to create. - items: - type: object - description: The details of an inventory level to create. - required: - - location_id - - inventory_item_id - properties: - location_id: - type: string - title: location_id - description: The ID of the associated stock location. - inventory_item_id: - type: string - title: inventory_item_id - description: The ID of the associated inventory item. - stocked_quantity: - type: number - title: stocked_quantity - description: The stocked quantity. - incoming_quantity: - type: number - title: incoming_quantity - description: The incoming quantity to be added to stock. - update: - type: array - description: The inventory levels to update. - items: - type: object - description: The details of an inventory level to update. - required: - - location_id - - inventory_item_id - properties: - location_id: - type: string - title: location_id - description: The ID of the associated stock location. - inventory_item_id: - type: string - title: inventory_item_id - description: The ID of the associated inventory item. - stocked_quantity: - type: number - title: stocked_quantity - description: The stocked quantity. - incoming_quantity: - type: number - title: incoming_quantity - description: The incoming quantity to be added to stock. - delete: - type: array - description: The IDs of the inventory levels to delete. - items: - type: string - title: delete - description: The ID of the inventory level to delete. - force: - type: boolean - title: force - description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity. + $ref: '#/components/schemas/AdminBatchInventoryItemsLocationLevels' x-codeSamples: - lang: Shell label: cURL @@ -16806,6 +16741,12 @@ paths: tags: - Inventory Items responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AdminBatchInventoryItemsLocationLevelsResponse' '400': $ref: '#/components/responses/400_error' '401': @@ -43819,6 +43760,30 @@ components: type: number title: apply_to_quantity description: The quantity that results from matching the `buyget` promotion's condition. For example, if the promotion is a "Buy 2 shirts get 1 free", the value of this attribute is `1`. + AdminBatchCreateInventoryItemsLocationLevels: + type: object + description: The details of an inventory level to create. + required: + - location_id + - inventory_item_id + properties: + location_id: + type: string + title: location_id + description: The ID of the associated stock location. + inventory_item_id: + type: string + title: inventory_item_id + description: The ID of the associated inventory item. + stocked_quantity: + type: number + title: stocked_quantity + description: The stocked quantity. + incoming_quantity: + type: number + title: incoming_quantity + description: The incoming quantity to be added to stock. + x-schemaName: AdminBatchCreateInventoryItemsLocationLevels AdminBatchInventoryItemLocationsLevel: type: object description: The inventory levels to create, update, or delete. @@ -43881,6 +43846,58 @@ components: title: force description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity. x-schemaName: AdminBatchInventoryItemLocationsLevel + AdminBatchInventoryItemsLocationLevels: + type: object + description: The inventory levels to manage. + properties: + create: + type: array + description: The inventory levels to create. + items: + $ref: '#/components/schemas/AdminBatchCreateInventoryItemsLocationLevels' + update: + type: array + description: The inventory levels to update. + items: + $ref: '#/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels' + delete: + type: array + description: The IDs of the inventory levels to delete. + items: + type: string + title: delete + description: The ID of the inventory level to delete. + force: + type: boolean + title: force + description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity. + required: + - create + - update + - delete + x-schemaName: AdminBatchInventoryItemsLocationLevels + AdminBatchInventoryItemsLocationLevelsResponse: + type: object + description: The result of managing inventory levels. + x-schemaName: AdminBatchInventoryItemsLocationLevelsResponse + properties: + created: + type: array + description: The created inventory levels. + items: + $ref: '#/components/schemas/InventoryLevel' + updated: + type: array + description: The updated inventory levels. + items: + $ref: '#/components/schemas/InventoryLevel' + deleted: + type: array + description: The IDs of deleted inventory levels. + items: + type: string + title: deleted + description: The ID of a deleted inventory level. AdminBatchProductRequest: type: object description: The products to create, update, or delete. @@ -44011,6 +44028,34 @@ components: type: boolean title: deleted description: Whether the product variants were deleted. + AdminBatchUpdateInventoryItemsLocationLevels: + type: object + description: The details of an inventory level to update. + required: + - location_id + - inventory_item_id + properties: + location_id: + type: string + title: location_id + description: The ID of the associated stock location. + inventory_item_id: + type: string + title: inventory_item_id + description: The ID of the associated inventory item. + stocked_quantity: + type: number + title: stocked_quantity + description: The stocked quantity. + incoming_quantity: + type: number + title: incoming_quantity + description: The incoming quantity to be added to stock. + id: + type: string + title: id + description: The update's ID. + x-schemaName: AdminBatchUpdateInventoryItemsLocationLevels AdminBatchUpdateProduct: type: object description: The product's details. @@ -53282,9 +53327,16 @@ components: example: is_return operator: type: string - title: operator - description: The shipping option rule's operator. - example: eq + description: The rule's operator. + enum: + - gt + - lt + - eq + - ne + - in + - lte + - gte + - nin value: type: string title: value @@ -69028,6 +69080,78 @@ components: - value - created_at - updated_at + StoreProductTagListResponse: + type: object + description: The paginated list of product tags. + x-schemaName: StoreProductTagListResponse + required: + - limit + - offset + - count + - product_tags + properties: + limit: + type: number + title: limit + description: The maximum number of items returned. + offset: + type: number + title: offset + description: The number of items to skip before retrieving the returned items. + count: + type: number + title: count + description: The total number of items available. + product_tags: + type: array + description: The list of product tags. + items: + $ref: '#/components/schemas/StoreProductTag' + StoreProductTagResponse: + type: object + description: The product tag's details. + x-schemaName: StoreProductTagResponse + required: + - product_tag + properties: + product_tag: + $ref: '#/components/schemas/StoreProductTag' + StoreProductTypeListResponse: + type: object + description: The paginated list of product types. + x-schemaName: StoreProductTypeListResponse + required: + - limit + - offset + - count + - product_types + properties: + limit: + type: number + title: limit + description: The maximum number of items returned. + offset: + type: number + title: offset + description: The number of items to skip before retrieving the returned items. + count: + type: number + title: count + description: The total number of items available. + product_types: + type: array + description: The list of product types. + items: + $ref: '#/components/schemas/StoreProduct' + StoreProductTypeResponse: + type: object + description: The product type's details. + x-schemaName: StoreProductTypeResponse + required: + - product_type + properties: + product_type: + $ref: '#/components/schemas/StoreProduct' StoreProductVariant: type: object description: The variant's details. diff --git a/www/apps/api-reference/specs/admin/paths/admin_inventory-items_location-levels_batch.yaml b/www/apps/api-reference/specs/admin/paths/admin_inventory-items_location-levels_batch.yaml index bc9d3c17eba20..d49d51cb227d1 100644 --- a/www/apps/api-reference/specs/admin/paths/admin_inventory-items_location-levels_batch.yaml +++ b/www/apps/api-reference/specs/admin/paths/admin_inventory-items_location-levels_batch.yaml @@ -11,74 +11,7 @@ post: content: application/json: schema: - type: object - description: The inventory levels to manage. - properties: - create: - type: array - description: The inventory levels to create. - items: - type: object - description: The details of an inventory level to create. - required: - - location_id - - inventory_item_id - properties: - location_id: - type: string - title: location_id - description: The ID of the associated stock location. - inventory_item_id: - type: string - title: inventory_item_id - description: The ID of the associated inventory item. - stocked_quantity: - type: number - title: stocked_quantity - description: The stocked quantity. - incoming_quantity: - type: number - title: incoming_quantity - description: The incoming quantity to be added to stock. - update: - type: array - description: The inventory levels to update. - items: - type: object - description: The details of an inventory level to update. - required: - - location_id - - inventory_item_id - properties: - location_id: - type: string - title: location_id - description: The ID of the associated stock location. - inventory_item_id: - type: string - title: inventory_item_id - description: The ID of the associated inventory item. - stocked_quantity: - type: number - title: stocked_quantity - description: The stocked quantity. - incoming_quantity: - type: number - title: incoming_quantity - description: The incoming quantity to be added to stock. - delete: - type: array - description: The IDs of the inventory levels to delete. - items: - type: string - title: delete - description: The ID of the inventory level to delete. - force: - type: boolean - title: force - description: >- - Whether to delete specified inventory levels even if they have a - non-zero stocked quantity. + $ref: ../components/schemas/AdminBatchInventoryItemsLocationLevels.yaml x-codeSamples: - lang: Shell label: cURL @@ -88,6 +21,13 @@ post: tags: - Inventory Items responses: + '200': + description: OK + content: + application/json: + schema: + $ref: >- + ../components/schemas/AdminBatchInventoryItemsLocationLevelsResponse.yaml '400': $ref: ../components/responses/400_error.yaml '401': diff --git a/www/apps/api-reference/specs/store/code_samples/Shell/store_product-tags/get.sh b/www/apps/api-reference/specs/store/code_samples/Shell/store_product-tags/get.sh new file mode 100644 index 0000000000000..9e3d56ff0fee9 --- /dev/null +++ b/www/apps/api-reference/specs/store/code_samples/Shell/store_product-tags/get.sh @@ -0,0 +1,2 @@ +curl '{backend_url}/store/product-tags' \ +-H 'x-publishable-api-key: {your_publishable_api_key}' \ No newline at end of file diff --git a/www/apps/api-reference/specs/store/code_samples/Shell/store_product-tags_{id}/get.sh b/www/apps/api-reference/specs/store/code_samples/Shell/store_product-tags_{id}/get.sh new file mode 100644 index 0000000000000..cdcad486e0069 --- /dev/null +++ b/www/apps/api-reference/specs/store/code_samples/Shell/store_product-tags_{id}/get.sh @@ -0,0 +1,2 @@ +curl '{backend_url}/store/product-tags/{id}' \ +-H 'x-publishable-api-key: {your_publishable_api_key}' \ No newline at end of file diff --git a/www/apps/api-reference/specs/store/code_samples/Shell/store_product-types/get.sh b/www/apps/api-reference/specs/store/code_samples/Shell/store_product-types/get.sh new file mode 100644 index 0000000000000..acfb949b151cb --- /dev/null +++ b/www/apps/api-reference/specs/store/code_samples/Shell/store_product-types/get.sh @@ -0,0 +1,2 @@ +curl '{backend_url}/store/product-types' \ +-H 'x-publishable-api-key: {your_publishable_api_key}' \ No newline at end of file diff --git a/www/apps/api-reference/specs/store/code_samples/Shell/store_product-types_{id}/get.sh b/www/apps/api-reference/specs/store/code_samples/Shell/store_product-types_{id}/get.sh new file mode 100644 index 0000000000000..e64bb420c103f --- /dev/null +++ b/www/apps/api-reference/specs/store/code_samples/Shell/store_product-types_{id}/get.sh @@ -0,0 +1,2 @@ +curl '{backend_url}/store/product-types/{id}' \ +-H 'x-publishable-api-key: {your_publishable_api_key}' \ No newline at end of file diff --git a/www/apps/api-reference/specs/store/components/schemas/AdminBatchCreateInventoryItemsLocationLevels.yaml b/www/apps/api-reference/specs/store/components/schemas/AdminBatchCreateInventoryItemsLocationLevels.yaml new file mode 100644 index 0000000000000..41c41d7f54271 --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/AdminBatchCreateInventoryItemsLocationLevels.yaml @@ -0,0 +1,23 @@ +type: object +description: The details of an inventory level to create. +required: + - location_id + - inventory_item_id +properties: + location_id: + type: string + title: location_id + description: The ID of the associated stock location. + inventory_item_id: + type: string + title: inventory_item_id + description: The ID of the associated inventory item. + stocked_quantity: + type: number + title: stocked_quantity + description: The stocked quantity. + incoming_quantity: + type: number + title: incoming_quantity + description: The incoming quantity to be added to stock. +x-schemaName: AdminBatchCreateInventoryItemsLocationLevels diff --git a/www/apps/api-reference/specs/store/components/schemas/AdminBatchInventoryItemsLocationLevels.yaml b/www/apps/api-reference/specs/store/components/schemas/AdminBatchInventoryItemsLocationLevels.yaml new file mode 100644 index 0000000000000..7a281e21b402a --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/AdminBatchInventoryItemsLocationLevels.yaml @@ -0,0 +1,31 @@ +type: object +description: The inventory levels to manage. +properties: + create: + type: array + description: The inventory levels to create. + items: + $ref: ./AdminBatchCreateInventoryItemsLocationLevels.yaml + update: + type: array + description: The inventory levels to update. + items: + $ref: ./AdminBatchUpdateInventoryItemsLocationLevels.yaml + delete: + type: array + description: The IDs of the inventory levels to delete. + items: + type: string + title: delete + description: The ID of the inventory level to delete. + force: + type: boolean + title: force + description: >- + Whether to delete specified inventory levels even if they have a non-zero + stocked quantity. +required: + - create + - update + - delete +x-schemaName: AdminBatchInventoryItemsLocationLevels diff --git a/www/apps/api-reference/specs/store/components/schemas/AdminBatchInventoryItemsLocationLevelsResponse.yaml b/www/apps/api-reference/specs/store/components/schemas/AdminBatchInventoryItemsLocationLevelsResponse.yaml new file mode 100644 index 0000000000000..f65ff69002b20 --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/AdminBatchInventoryItemsLocationLevelsResponse.yaml @@ -0,0 +1,21 @@ +type: object +description: The result of managing inventory levels. +x-schemaName: AdminBatchInventoryItemsLocationLevelsResponse +properties: + created: + type: array + description: The created inventory levels. + items: + $ref: ./InventoryLevel.yaml + updated: + type: array + description: The updated inventory levels. + items: + $ref: ./InventoryLevel.yaml + deleted: + type: array + description: The IDs of deleted inventory levels. + items: + type: string + title: deleted + description: The ID of a deleted inventory level. diff --git a/www/apps/api-reference/specs/store/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels.yaml b/www/apps/api-reference/specs/store/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels.yaml new file mode 100644 index 0000000000000..fe7876b5ff1a2 --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels.yaml @@ -0,0 +1,27 @@ +type: object +description: The details of an inventory level to update. +required: + - location_id + - inventory_item_id +properties: + location_id: + type: string + title: location_id + description: The ID of the associated stock location. + inventory_item_id: + type: string + title: inventory_item_id + description: The ID of the associated inventory item. + stocked_quantity: + type: number + title: stocked_quantity + description: The stocked quantity. + incoming_quantity: + type: number + title: incoming_quantity + description: The incoming quantity to be added to stock. + id: + type: string + title: id + description: The update's ID. +x-schemaName: AdminBatchUpdateInventoryItemsLocationLevels diff --git a/www/apps/api-reference/specs/store/components/schemas/AdminShippingOptionRule.yaml b/www/apps/api-reference/specs/store/components/schemas/AdminShippingOptionRule.yaml index 1fcc34fd59075..2676706b8ee9d 100644 --- a/www/apps/api-reference/specs/store/components/schemas/AdminShippingOptionRule.yaml +++ b/www/apps/api-reference/specs/store/components/schemas/AdminShippingOptionRule.yaml @@ -22,9 +22,16 @@ properties: example: is_return operator: type: string - title: operator - description: The shipping option rule's operator. - example: eq + description: The rule's operator. + enum: + - gt + - lt + - eq + - ne + - in + - lte + - gte + - nin value: type: string title: value diff --git a/www/apps/api-reference/specs/store/components/schemas/StoreProductTagListResponse.yaml b/www/apps/api-reference/specs/store/components/schemas/StoreProductTagListResponse.yaml new file mode 100644 index 0000000000000..3dc71d398d8bd --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/StoreProductTagListResponse.yaml @@ -0,0 +1,26 @@ +type: object +description: The paginated list of product tags. +x-schemaName: StoreProductTagListResponse +required: + - limit + - offset + - count + - product_tags +properties: + limit: + type: number + title: limit + description: The maximum number of items returned. + offset: + type: number + title: offset + description: The number of items to skip before retrieving the returned items. + count: + type: number + title: count + description: The total number of items available. + product_tags: + type: array + description: The list of product tags. + items: + $ref: ./StoreProductTag.yaml diff --git a/www/apps/api-reference/specs/store/components/schemas/StoreProductTagResponse.yaml b/www/apps/api-reference/specs/store/components/schemas/StoreProductTagResponse.yaml new file mode 100644 index 0000000000000..ddb6b7c16f98a --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/StoreProductTagResponse.yaml @@ -0,0 +1,8 @@ +type: object +description: The product tag's details. +x-schemaName: StoreProductTagResponse +required: + - product_tag +properties: + product_tag: + $ref: ./StoreProductTag.yaml diff --git a/www/apps/api-reference/specs/store/components/schemas/StoreProductTypeListResponse.yaml b/www/apps/api-reference/specs/store/components/schemas/StoreProductTypeListResponse.yaml new file mode 100644 index 0000000000000..5759dba22637e --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/StoreProductTypeListResponse.yaml @@ -0,0 +1,26 @@ +type: object +description: The paginated list of product types. +x-schemaName: StoreProductTypeListResponse +required: + - limit + - offset + - count + - product_types +properties: + limit: + type: number + title: limit + description: The maximum number of items returned. + offset: + type: number + title: offset + description: The number of items to skip before retrieving the returned items. + count: + type: number + title: count + description: The total number of items available. + product_types: + type: array + description: The list of product types. + items: + $ref: ./StoreProduct.yaml diff --git a/www/apps/api-reference/specs/store/components/schemas/StoreProductTypeResponse.yaml b/www/apps/api-reference/specs/store/components/schemas/StoreProductTypeResponse.yaml new file mode 100644 index 0000000000000..329c131c1dc99 --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/StoreProductTypeResponse.yaml @@ -0,0 +1,8 @@ +type: object +description: The product type's details. +x-schemaName: StoreProductTypeResponse +required: + - product_type +properties: + product_type: + $ref: ./StoreProduct.yaml diff --git a/www/apps/api-reference/specs/store/openapi.full.yaml b/www/apps/api-reference/specs/store/openapi.full.yaml index 0f902d6a501ae..e5a772d25ce6b 100644 --- a/www/apps/api-reference/specs/store/openapi.full.yaml +++ b/www/apps/api-reference/specs/store/openapi.full.yaml @@ -97,6 +97,10 @@ tags: url: https://docs.medusajs.com/v2/resources/storefront-development/products/categories/list x-associatedSchema: $ref: '#/components/schemas/StoreProductCategory' + - name: Product Tags + x-associatedSchema: + $ref: '#/components/schemas/StoreProductTag' + - name: Product Types - name: Products description: | Customers browse products for their purchase. @@ -3995,51 +3999,1427 @@ paths: schema: oneOf: - type: string - title: handle - description: Filter by a category's handle. + title: handle + description: Filter by a category's handle. + - type: array + description: Filter by category handles. + items: + type: string + title: handle + description: A handle. + - name: parent_category_id + in: query + required: false + schema: + oneOf: + - type: string + title: parent_category_id + description: The ID of a category to retrieve its child categories. + - type: array + description: The ID of categories to retrieve their child categories. + items: + type: string + title: parent_category_id + description: A product category's ID. + - name: include_ancestors_tree + in: query + description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`. + required: false + schema: + type: boolean + title: include_ancestors_tree + description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`. + - name: include_descendants_tree + in: query + description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the child of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`. + required: false + schema: + type: boolean + title: include_descendants_tree + description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the child of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`. + - name: created_at + in: query + description: Filter by the category's creation date. + required: false + schema: + type: object + description: Filter by the category's creation date. + properties: + $and: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: An exact match. + $ne: + type: string + title: $ne + description: Filter by values not equal to this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value not to match. + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter. + - type: object + description: Filter by values not matching the conditions in this parameter. + properties: + $and: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: The value to match. + $ne: + type: string + title: $ne + description: Filter by values not matching this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value to not match + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter + - type: object + description: Filter by values not matching the conditions in this parameter. + - type: array + description: Filter by values not matching the values of this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: Filter by values greater than this parameter. Useful for numbers and dates only. + $gte: + type: string + title: $gte + description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: Filter by values less than this parameter. Useful for numbers and dates only. + $lte: + type: string + title: $lte + description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The value to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - type: array + description: Filter by values not matching those in this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: Filter by values greater than this parameter. Useful for numbers and dates only. + $gte: + type: string + title: $gte + description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: Filter by values less than this parameter. Useful for numbers and dates only. + $lte: + type: string + title: $lte + description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The values to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - name: updated_at + in: query + description: Filter by the category's update date. + required: false + schema: + type: object + description: Filter by the category's update date. + properties: + $and: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: An exact match. + $ne: + type: string + title: $ne + description: Filter by values not equal to this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value not to match. + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter. + - type: object + description: Filter by values not matching the conditions in this parameter. + properties: + $and: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: The value to match. + $ne: + type: string + title: $ne + description: Filter by values not matching this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value to not match + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter + - type: object + description: Filter by values not matching the conditions in this parameter. + - type: array + description: Filter by values not matching the values of this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: Filter by values greater than this parameter. Useful for numbers and dates only. + $gte: + type: string + title: $gte + description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: Filter by values less than this parameter. Useful for numbers and dates only. + $lte: + type: string + title: $lte + description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The value to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - type: array + description: Filter by values not matching those in this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: Filter by values greater than this parameter. Useful for numbers and dates only. + $gte: + type: string + title: $gte + description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: Filter by values less than this parameter. Useful for numbers and dates only. + $lte: + type: string + title: $lte + description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The values to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - name: $and + in: query + required: false + schema: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + - name: $or + in: query + required: false + schema: + type: array + description: The product category's $or. + items: + type: object + title: $or + - name: name + in: query + required: false + schema: + oneOf: + - type: string + title: name + description: Filter by a product category name. + - type: array + description: Filter by product category names. + items: + type: string + title: name + description: A product category name. + x-codeSamples: + - lang: Shell + label: cURL + source: |- + curl '{backend_url}/store/product-categories' \ + -H 'x-publishable-api-key: {your_publishable_api_key}' + tags: + - Product Categories + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StoreProductCategoryListResponse' + '400': + $ref: '#/components/responses/400_error' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found_error' + '409': + $ref: '#/components/responses/invalid_state_error' + '422': + $ref: '#/components/responses/invalid_request_error' + '500': + $ref: '#/components/responses/500_error' + /store/product-categories/{id}: + get: + operationId: GetProductCategoriesId + summary: Get a Product Category + description: Retrieve a product category by its ID. You can expand the product category's relations or select the fields that should be returned. + x-authenticated: false + externalDocs: + url: https://docs.medusajs.com/v2/resources/storefront-development/products/categories/retrieve + description: 'Storefront guide: How to retrieve a product category.' + parameters: + - name: id + in: path + description: The product category's ID. + required: true + schema: + type: string + - name: x-publishable-api-key + in: header + description: Publishable API Key created in the Medusa Admin. + required: true + schema: + type: string + externalDocs: + url: https://docs.medusajs.com/api/store#publishable-api-key + - name: fields + in: query + description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. + required: false + schema: + type: string + title: fields + description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. + externalDocs: + url: '#select-fields-and-relations' + - name: include_ancestors_tree + in: query + description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`. + required: false + schema: + type: boolean + title: include_ancestors_tree + description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`. + - name: include_descendants_tree + in: query + description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the children of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`. + required: false + schema: + type: boolean + title: include_descendants_tree + description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the children of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`. + x-codeSamples: + - lang: Shell + label: cURL + source: |- + curl '{backend_url}/store/product-categories/{id}' \ + -H 'x-publishable-api-key: {your_publishable_api_key}' + tags: + - Product Categories + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StoreProductCategoryResponse' + '400': + $ref: '#/components/responses/400_error' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found_error' + '409': + $ref: '#/components/responses/invalid_state_error' + '422': + $ref: '#/components/responses/invalid_request_error' + '500': + $ref: '#/components/responses/500_error' + /store/product-tags: + get: + operationId: GetProductTags + summary: List Product Tags + description: Retrieve a list of product tags. The product tags can be filtered by fields such as `id`. The product tags can also be sorted or paginated. + x-authenticated: false + parameters: + - name: x-publishable-api-key + in: header + description: Publishable API Key created in the Medusa Admin. + required: true + schema: + type: string + externalDocs: + url: https://docs.medusajs.com/api/store#publishable-api-key + - name: fields + in: query + description: |- + Comma-separated fields that should be included in the returned data. + if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + without prefix it will replace the entire default fields. + required: false + schema: + type: string + title: fields + description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields. + externalDocs: + url: '#select-fields-and-relations' + - name: offset + in: query + description: The number of items to skip when retrieving a list. + required: false + schema: + type: number + title: offset + description: The number of items to skip when retrieving a list. + externalDocs: + url: '#pagination' + - name: limit + in: query + description: Limit the number of items returned in the list. + required: false + schema: + type: number + title: limit + description: Limit the number of items returned in the list. + externalDocs: + url: '#pagination' + - name: order + in: query + description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. + required: false + schema: + type: string + title: order + description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. + externalDocs: + url: '#pagination' + - name: $and + in: query + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + required: false + schema: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + - name: $or + in: query + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + required: false + schema: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + - name: q + in: query + description: Query to search product tag's searchable fields. + required: false + schema: + type: string + title: q + description: Query to search product tag's searchable fields. + - name: id + in: query + required: false + schema: + oneOf: + - type: string + title: id + description: Filter by a product tag's ID. + - type: array + description: Filter by product tag IDs. + items: + type: string + title: id + description: A product tag's ID. + - name: value + in: query + required: false + schema: + oneOf: + - type: string + title: value + description: Filter by a product tag's value. + - type: array + description: Filter by product tag values. + items: + type: string + title: value + description: A product tag's value. + - name: created_at + in: query + description: Filter by the tag's creation date. + required: false + schema: + type: object + description: Filter by the tag's creation date. + properties: + $and: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: An exact match. + $ne: + type: string + title: $ne + description: Filter by values not equal to this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value not to match. + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter. + - type: object + description: Filter by values not matching the conditions in this parameter. + properties: + $and: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: The value to match. + $ne: + type: string + title: $ne + description: Filter by values not matching this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value to not match + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter + - type: object + description: Filter by values not matching the conditions in this parameter. + - type: array + description: Filter by values not matching the values of this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: Filter by values greater than this parameter. Useful for numbers and dates only. + $gte: + type: string + title: $gte + description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: Filter by values less than this parameter. Useful for numbers and dates only. + $lte: + type: string + title: $lte + description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The value to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - type: array + description: Filter by values not matching those in this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: Filter by values greater than this parameter. Useful for numbers and dates only. + $gte: + type: string + title: $gte + description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: Filter by values less than this parameter. Useful for numbers and dates only. + $lte: + type: string + title: $lte + description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The values to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - name: updated_at + in: query + description: Filter by the tag's update date. + required: false + schema: + type: object + description: Filter by the tag's update date. + properties: + $and: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: An exact match. + $ne: + type: string + title: $ne + description: Filter by values not equal to this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value not to match. + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter. + - type: object + description: Filter by values not matching the conditions in this parameter. + properties: + $and: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: The value to match. + $ne: + type: string + title: $ne + description: Filter by values not matching this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value to not match + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter + - type: object + description: Filter by values not matching the conditions in this parameter. + - type: array + description: Filter by values not matching the values of this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: Filter by values greater than this parameter. Useful for numbers and dates only. + $gte: + type: string + title: $gte + description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: Filter by values less than this parameter. Useful for numbers and dates only. + $lte: + type: string + title: $lte + description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The value to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - type: array + description: Filter by values not matching those in this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: Filter by values greater than this parameter. Useful for numbers and dates only. + $gte: + type: string + title: $gte + description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: Filter by values less than this parameter. Useful for numbers and dates only. + $lte: + type: string + title: $lte + description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The values to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + x-codeSamples: + - lang: Shell + label: cURL + source: |- + curl '{backend_url}/store/product-tags' \ + -H 'x-publishable-api-key: {your_publishable_api_key}' + tags: + - Product Tags + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StoreProductTagListResponse' + '400': + $ref: '#/components/responses/400_error' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found_error' + '409': + $ref: '#/components/responses/invalid_state_error' + '422': + $ref: '#/components/responses/invalid_request_error' + '500': + $ref: '#/components/responses/500_error' + /store/product-tags/{id}: + get: + operationId: GetProductTagsId + summary: Get a Product Tag + description: Retrieve a product tag by its ID. You can expand the product tag's relations or select the fields that should be returned. + x-authenticated: false + parameters: + - name: id + in: path + description: The product tag's ID. + required: true + schema: + type: string + - name: x-publishable-api-key + in: header + description: Publishable API Key created in the Medusa Admin. + required: true + schema: + type: string + externalDocs: + url: https://docs.medusajs.com/api/store#publishable-api-key + - name: fields + in: query + description: |- + Comma-separated fields that should be included in the returned data. + if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + without prefix it will replace the entire default fields. + required: false + schema: + type: string + title: fields + description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields. + externalDocs: + url: '#select-fields-and-relations' + x-codeSamples: + - lang: Shell + label: cURL + source: |- + curl '{backend_url}/store/product-tags/{id}' \ + -H 'x-publishable-api-key: {your_publishable_api_key}' + tags: + - Product Tags + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StoreProductTagResponse' + '400': + $ref: '#/components/responses/400_error' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found_error' + '409': + $ref: '#/components/responses/invalid_state_error' + '422': + $ref: '#/components/responses/invalid_request_error' + '500': + $ref: '#/components/responses/500_error' + /store/product-types: + get: + operationId: GetProductTypes + summary: List Product Types + description: Retrieve a list of product types. The product types can be filtered by fields such as `id`. The product types can also be sorted or paginated. + x-authenticated: false + parameters: + - name: x-publishable-api-key + in: header + description: Publishable API Key created in the Medusa Admin. + required: true + schema: + type: string + externalDocs: + url: https://docs.medusajs.com/api/store#publishable-api-key + - name: fields + in: query + description: |- + Comma-separated fields that should be included in the returned data. + if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + without prefix it will replace the entire default fields. + required: false + schema: + type: string + title: fields + description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields. + externalDocs: + url: '#select-fields-and-relations' + - name: offset + in: query + description: The number of items to skip when retrieving a list. + required: false + schema: + type: number + title: offset + description: The number of items to skip when retrieving a list. + externalDocs: + url: '#pagination' + - name: limit + in: query + description: Limit the number of items returned in the list. + required: false + schema: + type: number + title: limit + description: Limit the number of items returned in the list. + externalDocs: + url: '#pagination' + - name: order + in: query + description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. + required: false + schema: + type: string + title: order + description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. + externalDocs: + url: '#pagination' + - name: $and + in: query + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + required: false + schema: + type: array + description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $and + - name: $or + in: query + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + required: false + schema: + type: array + description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + items: + type: object + title: $or + - name: q + in: query + description: Query to search the product type's searchable fields. + required: false + schema: + type: string + title: q + description: Query to search the product type's searchable fields. + - name: id + in: query + required: false + schema: + oneOf: + - type: string + title: id + description: Filter by a product type's ID. - type: array - description: Filter by category handles. + description: Filter by product type IDs. items: type: string - title: handle - description: A handle. - - name: parent_category_id + title: id + description: A product type's ID. + - name: value in: query required: false schema: oneOf: - type: string - title: parent_category_id - description: The ID of a category to retrieve its child categories. + title: value + description: Filter by a product type's value. - type: array - description: The ID of categories to retrieve their child categories. + description: Filter by product type values. items: type: string - title: parent_category_id - description: A product category's ID. - - name: include_ancestors_tree - in: query - description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`. - required: false - schema: - type: boolean - title: include_ancestors_tree - description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`. - - name: include_descendants_tree - in: query - description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the child of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`. - required: false - schema: - type: boolean - title: include_descendants_tree - description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the child of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`. + title: value + description: A product type's value. - name: created_at in: query - description: Filter by the category's creation date. + description: Filter by the type's creation date. required: false schema: type: object - description: Filter by the category's creation date. + description: Filter by the type's creation date. properties: $and: type: array @@ -4266,11 +5646,11 @@ paths: description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query - description: Filter by the category's update date. + description: Filter by the type's update date. required: false schema: type: object - description: Filter by the category's update date. + description: Filter by the type's update date. properties: $and: type: array @@ -4495,53 +5875,21 @@ paths: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - - name: $and - in: query - required: false - schema: - type: array - description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. - items: - type: object - title: $and - - name: $or - in: query - required: false - schema: - type: array - description: The product category's $or. - items: - type: object - title: $or - - name: name - in: query - required: false - schema: - oneOf: - - type: string - title: name - description: Filter by a product category name. - - type: array - description: Filter by product category names. - items: - type: string - title: name - description: A product category name. x-codeSamples: - lang: Shell label: cURL source: |- - curl '{backend_url}/store/product-categories' \ + curl '{backend_url}/store/product-types' \ -H 'x-publishable-api-key: {your_publishable_api_key}' tags: - - Product Categories + - Product Types responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/StoreProductCategoryListResponse' + $ref: '#/components/schemas/StoreProductTypeListResponse' '400': $ref: '#/components/responses/400_error' '401': @@ -4554,19 +5902,16 @@ paths: $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' - /store/product-categories/{id}: + /store/product-types/{id}: get: - operationId: GetProductCategoriesId - summary: Get a Product Category - description: Retrieve a product category by its ID. You can expand the product category's relations or select the fields that should be returned. + operationId: GetProductTypesId + summary: Get a Product Type + description: Retrieve a product type by its ID. You can expand the product type's relations or select the fields that should be returned. x-authenticated: false - externalDocs: - url: https://docs.medusajs.com/v2/resources/storefront-development/products/categories/retrieve - description: 'Storefront guide: How to retrieve a product category.' parameters: - name: id in: path - description: The product category's ID. + description: The product type's ID. required: true schema: type: string @@ -4580,45 +5925,32 @@ paths: url: https://docs.medusajs.com/api/store#publishable-api-key - name: fields in: query - description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. + description: |- + Comma-separated fields that should be included in the returned data. + if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + without prefix it will replace the entire default fields. required: false schema: type: string title: fields - description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. + description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields. externalDocs: url: '#select-fields-and-relations' - - name: include_ancestors_tree - in: query - description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`. - required: false - schema: - type: boolean - title: include_ancestors_tree - description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`. - - name: include_descendants_tree - in: query - description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the children of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`. - required: false - schema: - type: boolean - title: include_descendants_tree - description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the children of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`. x-codeSamples: - lang: Shell label: cURL source: |- - curl '{backend_url}/store/product-categories/{id}' \ + curl '{backend_url}/store/product-types/{id}' \ -H 'x-publishable-api-key: {your_publishable_api_key}' tags: - - Product Categories + - Product Types responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/StoreProductCategoryResponse' + $ref: '#/components/schemas/StoreProductTypeResponse' '400': $ref: '#/components/responses/400_error' '401': @@ -6373,6 +7705,30 @@ components: type: number title: apply_to_quantity description: The quantity that results from matching the `buyget` promotion's condition. For example, if the promotion is a "Buy 2 shirts get 1 free", the value of this attribute is `1`. + AdminBatchCreateInventoryItemsLocationLevels: + type: object + description: The details of an inventory level to create. + required: + - location_id + - inventory_item_id + properties: + location_id: + type: string + title: location_id + description: The ID of the associated stock location. + inventory_item_id: + type: string + title: inventory_item_id + description: The ID of the associated inventory item. + stocked_quantity: + type: number + title: stocked_quantity + description: The stocked quantity. + incoming_quantity: + type: number + title: incoming_quantity + description: The incoming quantity to be added to stock. + x-schemaName: AdminBatchCreateInventoryItemsLocationLevels AdminBatchInventoryItemLocationsLevel: type: object description: The inventory levels to create, update, or delete. @@ -6435,6 +7791,58 @@ components: title: force description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity. x-schemaName: AdminBatchInventoryItemLocationsLevel + AdminBatchInventoryItemsLocationLevels: + type: object + description: The inventory levels to manage. + properties: + create: + type: array + description: The inventory levels to create. + items: + $ref: '#/components/schemas/AdminBatchCreateInventoryItemsLocationLevels' + update: + type: array + description: The inventory levels to update. + items: + $ref: '#/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels' + delete: + type: array + description: The IDs of the inventory levels to delete. + items: + type: string + title: delete + description: The ID of the inventory level to delete. + force: + type: boolean + title: force + description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity. + required: + - create + - update + - delete + x-schemaName: AdminBatchInventoryItemsLocationLevels + AdminBatchInventoryItemsLocationLevelsResponse: + type: object + description: The result of managing inventory levels. + x-schemaName: AdminBatchInventoryItemsLocationLevelsResponse + properties: + created: + type: array + description: The created inventory levels. + items: + $ref: '#/components/schemas/InventoryLevel' + updated: + type: array + description: The updated inventory levels. + items: + $ref: '#/components/schemas/InventoryLevel' + deleted: + type: array + description: The IDs of deleted inventory levels. + items: + type: string + title: deleted + description: The ID of a deleted inventory level. AdminBatchProductRequest: type: object description: The products to create, update, or delete. @@ -6565,6 +7973,34 @@ components: type: boolean title: deleted description: Whether the product variants were deleted. + AdminBatchUpdateInventoryItemsLocationLevels: + type: object + description: The details of an inventory level to update. + required: + - location_id + - inventory_item_id + properties: + location_id: + type: string + title: location_id + description: The ID of the associated stock location. + inventory_item_id: + type: string + title: inventory_item_id + description: The ID of the associated inventory item. + stocked_quantity: + type: number + title: stocked_quantity + description: The stocked quantity. + incoming_quantity: + type: number + title: incoming_quantity + description: The incoming quantity to be added to stock. + id: + type: string + title: id + description: The update's ID. + x-schemaName: AdminBatchUpdateInventoryItemsLocationLevels AdminBatchUpdateProduct: type: object description: The product's details. @@ -15836,9 +17272,16 @@ components: example: is_return operator: type: string - title: operator - description: The shipping option rule's operator. - example: eq + description: The rule's operator. + enum: + - gt + - lt + - eq + - ne + - in + - lte + - gte + - nin value: type: string title: value @@ -31582,6 +33025,78 @@ components: - value - created_at - updated_at + StoreProductTagListResponse: + type: object + description: The paginated list of product tags. + x-schemaName: StoreProductTagListResponse + required: + - limit + - offset + - count + - product_tags + properties: + limit: + type: number + title: limit + description: The maximum number of items returned. + offset: + type: number + title: offset + description: The number of items to skip before retrieving the returned items. + count: + type: number + title: count + description: The total number of items available. + product_tags: + type: array + description: The list of product tags. + items: + $ref: '#/components/schemas/StoreProductTag' + StoreProductTagResponse: + type: object + description: The product tag's details. + x-schemaName: StoreProductTagResponse + required: + - product_tag + properties: + product_tag: + $ref: '#/components/schemas/StoreProductTag' + StoreProductTypeListResponse: + type: object + description: The paginated list of product types. + x-schemaName: StoreProductTypeListResponse + required: + - limit + - offset + - count + - product_types + properties: + limit: + type: number + title: limit + description: The maximum number of items returned. + offset: + type: number + title: offset + description: The number of items to skip before retrieving the returned items. + count: + type: number + title: count + description: The total number of items available. + product_types: + type: array + description: The list of product types. + items: + $ref: '#/components/schemas/StoreProduct' + StoreProductTypeResponse: + type: object + description: The product type's details. + x-schemaName: StoreProductTypeResponse + required: + - product_type + properties: + product_type: + $ref: '#/components/schemas/StoreProduct' StoreProductVariant: type: object description: The variant's details. diff --git a/www/apps/api-reference/specs/store/openapi.yaml b/www/apps/api-reference/specs/store/openapi.yaml index 88e280ddb3c3e..ca01ec3f12ae4 100644 --- a/www/apps/api-reference/specs/store/openapi.yaml +++ b/www/apps/api-reference/specs/store/openapi.yaml @@ -122,6 +122,10 @@ tags: https://docs.medusajs.com/v2/resources/storefront-development/products/categories/list x-associatedSchema: $ref: ./components/schemas/StoreProductCategory.yaml + - name: Product Tags + x-associatedSchema: + $ref: ./components/schemas/StoreProductTag.yaml + - name: Product Types - name: Products description: > Customers browse products for their purchase. @@ -259,6 +263,14 @@ paths: $ref: paths/store_product-categories.yaml /store/product-categories/{id}: $ref: paths/store_product-categories_{id}.yaml + /store/product-tags: + $ref: paths/store_product-tags.yaml + /store/product-tags/{id}: + $ref: paths/store_product-tags_{id}.yaml + /store/product-types: + $ref: paths/store_product-types.yaml + /store/product-types/{id}: + $ref: paths/store_product-types_{id}.yaml /store/products: $ref: paths/store_products.yaml /store/products/{id}: diff --git a/www/apps/api-reference/specs/store/paths/store_product-tags.yaml b/www/apps/api-reference/specs/store/paths/store_product-tags.yaml new file mode 100644 index 0000000000000..e4c249058f720 --- /dev/null +++ b/www/apps/api-reference/specs/store/paths/store_product-tags.yaml @@ -0,0 +1,699 @@ +get: + operationId: GetProductTags + summary: List Product Tags + description: >- + Retrieve a list of product tags. The product tags can be filtered by fields + such as `id`. The product tags can also be sorted or paginated. + x-authenticated: false + parameters: + - name: x-publishable-api-key + in: header + description: Publishable API Key created in the Medusa Admin. + required: true + schema: + type: string + externalDocs: + url: https://docs.medusajs.com/api/store#publishable-api-key + - name: fields + in: query + description: >- + Comma-separated fields that should be included in the returned data. + + if a field is prefixed with `+` it will be added to the default fields, + using `-` will remove it from the default fields. + + without prefix it will replace the entire default fields. + required: false + schema: + type: string + title: fields + description: >- + Comma-separated fields that should be included in the returned data. + If a field is prefixed with `+` it will be added to the default + fields, using `-` will remove it from the default fields. Without + prefix it will replace the entire default fields. + externalDocs: + url: '#select-fields-and-relations' + - name: offset + in: query + description: The number of items to skip when retrieving a list. + required: false + schema: + type: number + title: offset + description: The number of items to skip when retrieving a list. + externalDocs: + url: '#pagination' + - name: limit + in: query + description: Limit the number of items returned in the list. + required: false + schema: + type: number + title: limit + description: Limit the number of items returned in the list. + externalDocs: + url: '#pagination' + - name: order + in: query + description: >- + The field to sort the data by. By default, the sort order is ascending. + To change the order to descending, prefix the field name with `-`. + required: false + schema: + type: string + title: order + description: >- + The field to sort the data by. By default, the sort order is + ascending. To change the order to descending, prefix the field name + with `-`. + externalDocs: + url: '#pagination' + - name: $and + in: query + description: >- + Join query parameters with an AND condition. Each object's content is + the same type as the expected query parameters. + required: false + schema: + type: array + description: >- + Join query parameters with an AND condition. Each object's content is + the same type as the expected query parameters. + items: + type: object + title: $and + - name: $or + in: query + description: >- + Join query parameters with an OR condition. Each object's content is the + same type as the expected query parameters. + required: false + schema: + type: array + description: >- + Join query parameters with an OR condition. Each object's content is + the same type as the expected query parameters. + items: + type: object + title: $or + - name: q + in: query + description: Query to search product tag's searchable fields. + required: false + schema: + type: string + title: q + description: Query to search product tag's searchable fields. + - name: id + in: query + required: false + schema: + oneOf: + - type: string + title: id + description: Filter by a product tag's ID. + - type: array + description: Filter by product tag IDs. + items: + type: string + title: id + description: A product tag's ID. + - name: value + in: query + required: false + schema: + oneOf: + - type: string + title: value + description: Filter by a product tag's value. + - type: array + description: Filter by product tag values. + items: + type: string + title: value + description: A product tag's value. + - name: created_at + in: query + description: Filter by the tag's creation date. + required: false + schema: + type: object + description: Filter by the tag's creation date. + properties: + $and: + type: array + description: >- + Join query parameters with an AND condition. Each object's content + is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: >- + Join query parameters with an OR condition. Each object's content + is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: An exact match. + $ne: + type: string + title: $ne + description: Filter by values not equal to this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value not to match. + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter. + - type: object + description: >- + Filter by values not matching the conditions in this + parameter. + properties: + $and: + type: array + description: >- + Join query parameters with an AND condition. Each object's + content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: >- + Join query parameters with an OR condition. Each object's + content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: The value to match. + $ne: + type: string + title: $ne + description: Filter by values not matching this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value to not match + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter + - type: object + description: >- + Filter by values not matching the conditions in this + parameter. + - type: array + description: >- + Filter by values not matching the values of this + parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: >- + Filter by values greater than this parameter. Useful for + numbers and dates only. + $gte: + type: string + title: $gte + description: >- + Filter by values greater than or equal to this parameter. + Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: >- + Filter by values less than this parameter. Useful for + numbers and dates only. + $lte: + type: string + title: $lte + description: >- + Filter by values less than or equal to this parameter. + Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: >- + Apply a case-insensitive `like` filter. Useful for strings + only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: >- + Filter arrays that have overlapping values with this + parameter. + items: + type: string + title: $overlap + description: The value to match. + $contains: + type: array + description: >- + Filter arrays that contain some of the values of this + parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: >- + Filter by whether a value for this parameter exists (not + `null`). + - type: array + description: Filter by values not matching those in this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: >- + Filter by values greater than this parameter. Useful for numbers + and dates only. + $gte: + type: string + title: $gte + description: >- + Filter by values greater than or equal to this parameter. Useful + for numbers and dates only. + $lt: + type: string + title: $lt + description: >- + Filter by values less than this parameter. Useful for numbers and + dates only. + $lte: + type: string + title: $lte + description: >- + Filter by values less than or equal to this parameter. Useful for + numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The values to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - name: updated_at + in: query + description: Filter by the tag's update date. + required: false + schema: + type: object + description: Filter by the tag's update date. + properties: + $and: + type: array + description: >- + Join query parameters with an AND condition. Each object's content + is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: >- + Join query parameters with an OR condition. Each object's content + is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: An exact match. + $ne: + type: string + title: $ne + description: Filter by values not equal to this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value not to match. + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter. + - type: object + description: >- + Filter by values not matching the conditions in this + parameter. + properties: + $and: + type: array + description: >- + Join query parameters with an AND condition. Each object's + content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: >- + Join query parameters with an OR condition. Each object's + content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: The value to match. + $ne: + type: string + title: $ne + description: Filter by values not matching this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value to not match + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter + - type: object + description: >- + Filter by values not matching the conditions in this + parameter. + - type: array + description: >- + Filter by values not matching the values of this + parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: >- + Filter by values greater than this parameter. Useful for + numbers and dates only. + $gte: + type: string + title: $gte + description: >- + Filter by values greater than or equal to this parameter. + Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: >- + Filter by values less than this parameter. Useful for + numbers and dates only. + $lte: + type: string + title: $lte + description: >- + Filter by values less than or equal to this parameter. + Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: >- + Apply a case-insensitive `like` filter. Useful for strings + only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: >- + Filter arrays that have overlapping values with this + parameter. + items: + type: string + title: $overlap + description: The value to match. + $contains: + type: array + description: >- + Filter arrays that contain some of the values of this + parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: >- + Filter by whether a value for this parameter exists (not + `null`). + - type: array + description: Filter by values not matching those in this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: >- + Filter by values greater than this parameter. Useful for numbers + and dates only. + $gte: + type: string + title: $gte + description: >- + Filter by values greater than or equal to this parameter. Useful + for numbers and dates only. + $lt: + type: string + title: $lt + description: >- + Filter by values less than this parameter. Useful for numbers and + dates only. + $lte: + type: string + title: $lte + description: >- + Filter by values less than or equal to this parameter. Useful for + numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The values to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + x-codeSamples: + - lang: Shell + label: cURL + source: + $ref: ../code_samples/Shell/store_product-tags/get.sh + tags: + - Product Tags + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: ../components/schemas/StoreProductTagListResponse.yaml + '400': + $ref: ../components/responses/400_error.yaml + '401': + $ref: ../components/responses/unauthorized.yaml + '404': + $ref: ../components/responses/not_found_error.yaml + '409': + $ref: ../components/responses/invalid_state_error.yaml + '422': + $ref: ../components/responses/invalid_request_error.yaml + '500': + $ref: ../components/responses/500_error.yaml diff --git a/www/apps/api-reference/specs/store/paths/store_product-tags_{id}.yaml b/www/apps/api-reference/specs/store/paths/store_product-tags_{id}.yaml new file mode 100644 index 0000000000000..e00f236211841 --- /dev/null +++ b/www/apps/api-reference/specs/store/paths/store_product-tags_{id}.yaml @@ -0,0 +1,68 @@ +get: + operationId: GetProductTagsId + summary: Get a Product Tag + description: >- + Retrieve a product tag by its ID. You can expand the product tag's relations + or select the fields that should be returned. + x-authenticated: false + parameters: + - name: id + in: path + description: The product tag's ID. + required: true + schema: + type: string + - name: x-publishable-api-key + in: header + description: Publishable API Key created in the Medusa Admin. + required: true + schema: + type: string + externalDocs: + url: https://docs.medusajs.com/api/store#publishable-api-key + - name: fields + in: query + description: >- + Comma-separated fields that should be included in the returned data. + + if a field is prefixed with `+` it will be added to the default fields, + using `-` will remove it from the default fields. + + without prefix it will replace the entire default fields. + required: false + schema: + type: string + title: fields + description: >- + Comma-separated fields that should be included in the returned data. + If a field is prefixed with `+` it will be added to the default + fields, using `-` will remove it from the default fields. Without + prefix it will replace the entire default fields. + externalDocs: + url: '#select-fields-and-relations' + x-codeSamples: + - lang: Shell + label: cURL + source: + $ref: ../code_samples/Shell/store_product-tags_{id}/get.sh + tags: + - Product Tags + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: ../components/schemas/StoreProductTagResponse.yaml + '400': + $ref: ../components/responses/400_error.yaml + '401': + $ref: ../components/responses/unauthorized.yaml + '404': + $ref: ../components/responses/not_found_error.yaml + '409': + $ref: ../components/responses/invalid_state_error.yaml + '422': + $ref: ../components/responses/invalid_request_error.yaml + '500': + $ref: ../components/responses/500_error.yaml diff --git a/www/apps/api-reference/specs/store/paths/store_product-types.yaml b/www/apps/api-reference/specs/store/paths/store_product-types.yaml new file mode 100644 index 0000000000000..0cb17e2b9e7d8 --- /dev/null +++ b/www/apps/api-reference/specs/store/paths/store_product-types.yaml @@ -0,0 +1,696 @@ +get: + operationId: GetProductTypes + summary: List Product Types + description: >- + Retrieve a list of product types. The product types can be filtered by + fields such as `id`. The product types can also be sorted or paginated. + x-authenticated: false + parameters: + - name: x-publishable-api-key + in: header + description: Publishable API Key created in the Medusa Admin. + required: true + schema: + type: string + externalDocs: + url: https://docs.medusajs.com/api/store#publishable-api-key + - name: fields + in: query + description: |- + Comma-separated fields that should be included in the returned data. + if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + without prefix it will replace the entire default fields. + required: false + schema: + type: string + title: fields + description: >- + Comma-separated fields that should be included in the returned data. + If a field is prefixed with `+` it will be added to the default + fields, using `-` will remove it from the default fields. Without + prefix it will replace the entire default fields. + externalDocs: + url: '#select-fields-and-relations' + - name: offset + in: query + description: The number of items to skip when retrieving a list. + required: false + schema: + type: number + title: offset + description: The number of items to skip when retrieving a list. + externalDocs: + url: '#pagination' + - name: limit + in: query + description: Limit the number of items returned in the list. + required: false + schema: + type: number + title: limit + description: Limit the number of items returned in the list. + externalDocs: + url: '#pagination' + - name: order + in: query + description: >- + The field to sort the data by. By default, the sort order is ascending. + To change the order to descending, prefix the field name with `-`. + required: false + schema: + type: string + title: order + description: >- + The field to sort the data by. By default, the sort order is + ascending. To change the order to descending, prefix the field name + with `-`. + externalDocs: + url: '#pagination' + - name: $and + in: query + description: >- + Join query parameters with an AND condition. Each object's content is + the same type as the expected query parameters. + required: false + schema: + type: array + description: >- + Join query parameters with an AND condition. Each object's content is + the same type as the expected query parameters. + items: + type: object + title: $and + - name: $or + in: query + description: >- + Join query parameters with an OR condition. Each object's content is the + same type as the expected query parameters. + required: false + schema: + type: array + description: >- + Join query parameters with an OR condition. Each object's content is + the same type as the expected query parameters. + items: + type: object + title: $or + - name: q + in: query + description: Query to search the product type's searchable fields. + required: false + schema: + type: string + title: q + description: Query to search the product type's searchable fields. + - name: id + in: query + required: false + schema: + oneOf: + - type: string + title: id + description: Filter by a product type's ID. + - type: array + description: Filter by product type IDs. + items: + type: string + title: id + description: A product type's ID. + - name: value + in: query + required: false + schema: + oneOf: + - type: string + title: value + description: Filter by a product type's value. + - type: array + description: Filter by product type values. + items: + type: string + title: value + description: A product type's value. + - name: created_at + in: query + description: Filter by the type's creation date. + required: false + schema: + type: object + description: Filter by the type's creation date. + properties: + $and: + type: array + description: >- + Join query parameters with an AND condition. Each object's content + is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: >- + Join query parameters with an OR condition. Each object's content + is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: An exact match. + $ne: + type: string + title: $ne + description: Filter by values not equal to this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value not to match. + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter. + - type: object + description: >- + Filter by values not matching the conditions in this + parameter. + properties: + $and: + type: array + description: >- + Join query parameters with an AND condition. Each object's + content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: >- + Join query parameters with an OR condition. Each object's + content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: The value to match. + $ne: + type: string + title: $ne + description: Filter by values not matching this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value to not match + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter + - type: object + description: >- + Filter by values not matching the conditions in this + parameter. + - type: array + description: >- + Filter by values not matching the values of this + parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: >- + Filter by values greater than this parameter. Useful for + numbers and dates only. + $gte: + type: string + title: $gte + description: >- + Filter by values greater than or equal to this parameter. + Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: >- + Filter by values less than this parameter. Useful for + numbers and dates only. + $lte: + type: string + title: $lte + description: >- + Filter by values less than or equal to this parameter. + Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: >- + Apply a case-insensitive `like` filter. Useful for strings + only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: >- + Filter arrays that have overlapping values with this + parameter. + items: + type: string + title: $overlap + description: The value to match. + $contains: + type: array + description: >- + Filter arrays that contain some of the values of this + parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: >- + Filter by whether a value for this parameter exists (not + `null`). + - type: array + description: Filter by values not matching those in this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: >- + Filter by values greater than this parameter. Useful for numbers + and dates only. + $gte: + type: string + title: $gte + description: >- + Filter by values greater than or equal to this parameter. Useful + for numbers and dates only. + $lt: + type: string + title: $lt + description: >- + Filter by values less than this parameter. Useful for numbers and + dates only. + $lte: + type: string + title: $lte + description: >- + Filter by values less than or equal to this parameter. Useful for + numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The values to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + - name: updated_at + in: query + description: Filter by the type's update date. + required: false + schema: + type: object + description: Filter by the type's update date. + properties: + $and: + type: array + description: >- + Join query parameters with an AND condition. Each object's content + is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: >- + Join query parameters with an OR condition. Each object's content + is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: An exact match. + $ne: + type: string + title: $ne + description: Filter by values not equal to this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value not to match. + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter. + - type: object + description: >- + Filter by values not matching the conditions in this + parameter. + properties: + $and: + type: array + description: >- + Join query parameters with an AND condition. Each object's + content is the same type as the expected query parameters. + items: + type: object + title: $and + $or: + type: array + description: >- + Join query parameters with an OR condition. Each object's + content is the same type as the expected query parameters. + items: + type: object + title: $or + $eq: + oneOf: + - type: string + title: $eq + description: Filter by an exact match. + - type: array + description: Filter by multiple exact matches. + items: + type: string + title: $eq + description: The value to match. + $ne: + type: string + title: $ne + description: Filter by values not matching this parameter. + $in: + type: array + description: Filter by values in this array. + items: + type: string + title: $in + description: The value to match. + $nin: + type: array + description: Filter by values not in this array. + items: + type: string + title: $nin + description: The value to not match + $not: + oneOf: + - type: string + title: $not + description: Filter by values not matching this parameter + - type: object + description: >- + Filter by values not matching the conditions in this + parameter. + - type: array + description: >- + Filter by values not matching the values of this + parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: >- + Filter by values greater than this parameter. Useful for + numbers and dates only. + $gte: + type: string + title: $gte + description: >- + Filter by values greater than or equal to this parameter. + Useful for numbers and dates only. + $lt: + type: string + title: $lt + description: >- + Filter by values less than this parameter. Useful for + numbers and dates only. + $lte: + type: string + title: $lte + description: >- + Filter by values less than or equal to this parameter. + Useful for numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: >- + Apply a case-insensitive `like` filter. Useful for strings + only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: >- + Filter arrays that have overlapping values with this + parameter. + items: + type: string + title: $overlap + description: The value to match. + $contains: + type: array + description: >- + Filter arrays that contain some of the values of this + parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: >- + Filter by whether a value for this parameter exists (not + `null`). + - type: array + description: Filter by values not matching those in this parameter. + items: + type: string + title: $not + description: The values to not match. + $gt: + type: string + title: $gt + description: >- + Filter by values greater than this parameter. Useful for numbers + and dates only. + $gte: + type: string + title: $gte + description: >- + Filter by values greater than or equal to this parameter. Useful + for numbers and dates only. + $lt: + type: string + title: $lt + description: >- + Filter by values less than this parameter. Useful for numbers and + dates only. + $lte: + type: string + title: $lte + description: >- + Filter by values less than or equal to this parameter. Useful for + numbers and dates only. + $like: + type: string + title: $like + description: Apply a `like` filter. Useful for strings only. + $re: + type: string + title: $re + description: Apply a regex filter. Useful for strings only. + $ilike: + type: string + title: $ilike + description: Apply a case-insensitive `like` filter. Useful for strings only. + $fulltext: + type: string + title: $fulltext + description: Filter to apply on full-text properties. + $overlap: + type: array + description: Filter arrays that have overlapping values with this parameter. + items: + type: string + title: $overlap + description: The values to match. + $contains: + type: array + description: Filter arrays that contain some of the values of this parameter. + items: + type: string + title: $contains + description: The values to match. + $contained: + type: array + description: Filter arrays that contain all values of this parameter. + items: + type: string + title: $contained + description: The values to match. + $exists: + type: boolean + title: $exists + description: Filter by whether a value for this parameter exists (not `null`). + x-codeSamples: + - lang: Shell + label: cURL + source: + $ref: ../code_samples/Shell/store_product-types/get.sh + tags: + - Product Types + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: ../components/schemas/StoreProductTypeListResponse.yaml + '400': + $ref: ../components/responses/400_error.yaml + '401': + $ref: ../components/responses/unauthorized.yaml + '404': + $ref: ../components/responses/not_found_error.yaml + '409': + $ref: ../components/responses/invalid_state_error.yaml + '422': + $ref: ../components/responses/invalid_request_error.yaml + '500': + $ref: ../components/responses/500_error.yaml diff --git a/www/apps/api-reference/specs/store/paths/store_product-types_{id}.yaml b/www/apps/api-reference/specs/store/paths/store_product-types_{id}.yaml new file mode 100644 index 0000000000000..40fb82c0cf000 --- /dev/null +++ b/www/apps/api-reference/specs/store/paths/store_product-types_{id}.yaml @@ -0,0 +1,65 @@ +get: + operationId: GetProductTypesId + summary: Get a Product Type + description: >- + Retrieve a product type by its ID. You can expand the product type's + relations or select the fields that should be returned. + x-authenticated: false + parameters: + - name: id + in: path + description: The product type's ID. + required: true + schema: + type: string + - name: x-publishable-api-key + in: header + description: Publishable API Key created in the Medusa Admin. + required: true + schema: + type: string + externalDocs: + url: https://docs.medusajs.com/api/store#publishable-api-key + - name: fields + in: query + description: |- + Comma-separated fields that should be included in the returned data. + if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + without prefix it will replace the entire default fields. + required: false + schema: + type: string + title: fields + description: >- + Comma-separated fields that should be included in the returned data. + If a field is prefixed with `+` it will be added to the default + fields, using `-` will remove it from the default fields. Without + prefix it will replace the entire default fields. + externalDocs: + url: '#select-fields-and-relations' + x-codeSamples: + - lang: Shell + label: cURL + source: + $ref: ../code_samples/Shell/store_product-types_{id}/get.sh + tags: + - Product Types + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: ../components/schemas/StoreProductTypeResponse.yaml + '400': + $ref: ../components/responses/400_error.yaml + '401': + $ref: ../components/responses/unauthorized.yaml + '404': + $ref: ../components/responses/not_found_error.yaml + '409': + $ref: ../components/responses/invalid_state_error.yaml + '422': + $ref: ../components/responses/invalid_request_error.yaml + '500': + $ref: ../components/responses/500_error.yaml diff --git a/www/utils/generated/oas-output/base/store.oas.base.yaml b/www/utils/generated/oas-output/base/store.oas.base.yaml index 8d168814caeb1..0ab8e3d1c523b 100644 --- a/www/utils/generated/oas-output/base/store.oas.base.yaml +++ b/www/utils/generated/oas-output/base/store.oas.base.yaml @@ -7,7 +7,7 @@ info: url: https://github.com/medusajs/medusa/blob/master/LICENSE tags: - name: Auth - description: > + description: | Auth API routes allow you to manage a customer's authentication. - name: Carts description: > @@ -107,6 +107,10 @@ tags: url: https://docs.medusajs.com/v2/resources/storefront-development/products/categories/list x-associatedSchema: $ref: "#/components/schemas/StoreProductCategory" + - name: Product Tags + x-associatedSchema: + $ref: "#/components/schemas/StoreProductTag" + - name: Product Types - name: Products description: > Customers browse products for their purchase. diff --git a/www/utils/generated/oas-output/operations/admin/post_admin_inventory-items_location-levels_batch.ts b/www/utils/generated/oas-output/operations/admin/post_admin_inventory-items_location-levels_batch.ts index 08381329966f4..0dbd7d794865a 100644 --- a/www/utils/generated/oas-output/operations/admin/post_admin_inventory-items_location-levels_batch.ts +++ b/www/utils/generated/oas-output/operations/admin/post_admin_inventory-items_location-levels_batch.ts @@ -12,72 +12,7 @@ * content: * application/json: * schema: - * type: object - * description: The inventory levels to manage. - * properties: - * create: - * type: array - * description: The inventory levels to create. - * items: - * type: object - * description: The details of an inventory level to create. - * required: - * - location_id - * - inventory_item_id - * properties: - * location_id: - * type: string - * title: location_id - * description: The ID of the associated stock location. - * inventory_item_id: - * type: string - * title: inventory_item_id - * description: The ID of the associated inventory item. - * stocked_quantity: - * type: number - * title: stocked_quantity - * description: The stocked quantity. - * incoming_quantity: - * type: number - * title: incoming_quantity - * description: The incoming quantity to be added to stock. - * update: - * type: array - * description: The inventory levels to update. - * items: - * type: object - * description: The details of an inventory level to update. - * required: - * - location_id - * - inventory_item_id - * properties: - * location_id: - * type: string - * title: location_id - * description: The ID of the associated stock location. - * inventory_item_id: - * type: string - * title: inventory_item_id - * description: The ID of the associated inventory item. - * stocked_quantity: - * type: number - * title: stocked_quantity - * description: The stocked quantity. - * incoming_quantity: - * type: number - * title: incoming_quantity - * description: The incoming quantity to be added to stock. - * delete: - * type: array - * description: The IDs of the inventory levels to delete. - * items: - * type: string - * title: delete - * description: The ID of the inventory level to delete. - * force: - * type: boolean - * title: force - * description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity. + * $ref: "#/components/schemas/AdminBatchInventoryItemsLocationLevels" * x-codeSamples: * - lang: Shell * label: cURL @@ -109,6 +44,12 @@ * tags: * - Inventory Items * responses: + * "200": + * description: OK + * content: + * application/json: + * schema: + * $ref: "#/components/schemas/AdminBatchInventoryItemsLocationLevelsResponse" * "400": * $ref: "#/components/responses/400_error" * "401": diff --git a/www/utils/generated/oas-output/operations/store/get_store_product-tags.ts b/www/utils/generated/oas-output/operations/store/get_store_product-tags.ts new file mode 100644 index 0000000000000..47c29d79ff1e5 --- /dev/null +++ b/www/utils/generated/oas-output/operations/store/get_store_product-tags.ts @@ -0,0 +1,607 @@ +/** + * @oas [get] /store/product-tags + * operationId: GetProductTags + * summary: List Product Tags + * description: Retrieve a list of product tags. The product tags can be filtered by fields such as `id`. The product tags can also be sorted or paginated. + * x-authenticated: false + * parameters: + * - name: x-publishable-api-key + * in: header + * description: Publishable API Key created in the Medusa Admin. + * required: true + * schema: + * type: string + * externalDocs: + * url: https://docs.medusajs.com/api/store#publishable-api-key + * - name: fields + * in: query + * description: |- + * Comma-separated fields that should be included in the returned data. + * if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + * without prefix it will replace the entire default fields. + * required: false + * schema: + * type: string + * title: fields + * description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default + * fields. Without prefix it will replace the entire default fields. + * externalDocs: + * url: "#select-fields-and-relations" + * - name: offset + * in: query + * description: The number of items to skip when retrieving a list. + * required: false + * schema: + * type: number + * title: offset + * description: The number of items to skip when retrieving a list. + * externalDocs: + * url: "#pagination" + * - name: limit + * in: query + * description: Limit the number of items returned in the list. + * required: false + * schema: + * type: number + * title: limit + * description: Limit the number of items returned in the list. + * externalDocs: + * url: "#pagination" + * - name: order + * in: query + * description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. + * required: false + * schema: + * type: string + * title: order + * description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. + * externalDocs: + * url: "#pagination" + * - name: $and + * in: query + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * required: false + * schema: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * - name: $or + * in: query + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * required: false + * schema: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * - name: q + * in: query + * description: Query to search product tag's searchable fields. + * required: false + * schema: + * type: string + * title: q + * description: Query to search product tag's searchable fields. + * - name: id + * in: query + * required: false + * schema: + * oneOf: + * - type: string + * title: id + * description: Filter by a product tag's ID. + * - type: array + * description: Filter by product tag IDs. + * items: + * type: string + * title: id + * description: A product tag's ID. + * - name: value + * in: query + * required: false + * schema: + * oneOf: + * - type: string + * title: value + * description: Filter by a product tag's value. + * - type: array + * description: Filter by product tag values. + * items: + * type: string + * title: value + * description: A product tag's value. + * - name: created_at + * in: query + * description: Filter by the tag's creation date. + * required: false + * schema: + * type: object + * description: Filter by the tag's creation date. + * properties: + * $and: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * $or: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * $eq: + * oneOf: + * - type: string + * title: $eq + * description: Filter by an exact match. + * - type: array + * description: Filter by multiple exact matches. + * items: + * type: string + * title: $eq + * description: An exact match. + * $ne: + * type: string + * title: $ne + * description: Filter by values not equal to this parameter. + * $in: + * type: array + * description: Filter by values in this array. + * items: + * type: string + * title: $in + * description: The value to match. + * $nin: + * type: array + * description: Filter by values not in this array. + * items: + * type: string + * title: $nin + * description: The value not to match. + * $not: + * oneOf: + * - type: string + * title: $not + * description: Filter by values not matching this parameter. + * - type: object + * description: Filter by values not matching the conditions in this parameter. + * properties: + * $and: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * $or: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * $eq: + * oneOf: + * - type: string + * title: $eq + * description: Filter by an exact match. + * - type: array + * description: Filter by multiple exact matches. + * items: + * type: string + * title: $eq + * description: The value to match. + * $ne: + * type: string + * title: $ne + * description: Filter by values not matching this parameter. + * $in: + * type: array + * description: Filter by values in this array. + * items: + * type: string + * title: $in + * description: The value to match. + * $nin: + * type: array + * description: Filter by values not in this array. + * items: + * type: string + * title: $nin + * description: The value to not match + * $not: + * oneOf: + * - type: string + * title: $not + * description: Filter by values not matching this parameter + * - type: object + * description: Filter by values not matching the conditions in this parameter. + * - type: array + * description: Filter by values not matching the values of this parameter. + * items: + * type: string + * title: $not + * description: The values to not match. + * $gt: + * type: string + * title: $gt + * description: Filter by values greater than this parameter. Useful for numbers and dates only. + * $gte: + * type: string + * title: $gte + * description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + * $lt: + * type: string + * title: $lt + * description: Filter by values less than this parameter. Useful for numbers and dates only. + * $lte: + * type: string + * title: $lte + * description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + * $like: + * type: string + * title: $like + * description: Apply a `like` filter. Useful for strings only. + * $re: + * type: string + * title: $re + * description: Apply a regex filter. Useful for strings only. + * $ilike: + * type: string + * title: $ilike + * description: Apply a case-insensitive `like` filter. Useful for strings only. + * $fulltext: + * type: string + * title: $fulltext + * description: Filter to apply on full-text properties. + * $overlap: + * type: array + * description: Filter arrays that have overlapping values with this parameter. + * items: + * type: string + * title: $overlap + * description: The value to match. + * $contains: + * type: array + * description: Filter arrays that contain some of the values of this parameter. + * items: + * type: string + * title: $contains + * description: The values to match. + * $contained: + * type: array + * description: Filter arrays that contain all values of this parameter. + * items: + * type: string + * title: $contained + * description: The values to match. + * $exists: + * type: boolean + * title: $exists + * description: Filter by whether a value for this parameter exists (not `null`). + * - type: array + * description: Filter by values not matching those in this parameter. + * items: + * type: string + * title: $not + * description: The values to not match. + * $gt: + * type: string + * title: $gt + * description: Filter by values greater than this parameter. Useful for numbers and dates only. + * $gte: + * type: string + * title: $gte + * description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + * $lt: + * type: string + * title: $lt + * description: Filter by values less than this parameter. Useful for numbers and dates only. + * $lte: + * type: string + * title: $lte + * description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + * $like: + * type: string + * title: $like + * description: Apply a `like` filter. Useful for strings only. + * $re: + * type: string + * title: $re + * description: Apply a regex filter. Useful for strings only. + * $ilike: + * type: string + * title: $ilike + * description: Apply a case-insensitive `like` filter. Useful for strings only. + * $fulltext: + * type: string + * title: $fulltext + * description: Filter to apply on full-text properties. + * $overlap: + * type: array + * description: Filter arrays that have overlapping values with this parameter. + * items: + * type: string + * title: $overlap + * description: The values to match. + * $contains: + * type: array + * description: Filter arrays that contain some of the values of this parameter. + * items: + * type: string + * title: $contains + * description: The values to match. + * $contained: + * type: array + * description: Filter arrays that contain all values of this parameter. + * items: + * type: string + * title: $contained + * description: The values to match. + * $exists: + * type: boolean + * title: $exists + * description: Filter by whether a value for this parameter exists (not `null`). + * - name: updated_at + * in: query + * description: Filter by the tag's update date. + * required: false + * schema: + * type: object + * description: Filter by the tag's update date. + * properties: + * $and: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * $or: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * $eq: + * oneOf: + * - type: string + * title: $eq + * description: Filter by an exact match. + * - type: array + * description: Filter by multiple exact matches. + * items: + * type: string + * title: $eq + * description: An exact match. + * $ne: + * type: string + * title: $ne + * description: Filter by values not equal to this parameter. + * $in: + * type: array + * description: Filter by values in this array. + * items: + * type: string + * title: $in + * description: The value to match. + * $nin: + * type: array + * description: Filter by values not in this array. + * items: + * type: string + * title: $nin + * description: The value not to match. + * $not: + * oneOf: + * - type: string + * title: $not + * description: Filter by values not matching this parameter. + * - type: object + * description: Filter by values not matching the conditions in this parameter. + * properties: + * $and: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * $or: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * $eq: + * oneOf: + * - type: string + * title: $eq + * description: Filter by an exact match. + * - type: array + * description: Filter by multiple exact matches. + * items: + * type: string + * title: $eq + * description: The value to match. + * $ne: + * type: string + * title: $ne + * description: Filter by values not matching this parameter. + * $in: + * type: array + * description: Filter by values in this array. + * items: + * type: string + * title: $in + * description: The value to match. + * $nin: + * type: array + * description: Filter by values not in this array. + * items: + * type: string + * title: $nin + * description: The value to not match + * $not: + * oneOf: + * - type: string + * title: $not + * description: Filter by values not matching this parameter + * - type: object + * description: Filter by values not matching the conditions in this parameter. + * - type: array + * description: Filter by values not matching the values of this parameter. + * items: + * type: string + * title: $not + * description: The values to not match. + * $gt: + * type: string + * title: $gt + * description: Filter by values greater than this parameter. Useful for numbers and dates only. + * $gte: + * type: string + * title: $gte + * description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + * $lt: + * type: string + * title: $lt + * description: Filter by values less than this parameter. Useful for numbers and dates only. + * $lte: + * type: string + * title: $lte + * description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + * $like: + * type: string + * title: $like + * description: Apply a `like` filter. Useful for strings only. + * $re: + * type: string + * title: $re + * description: Apply a regex filter. Useful for strings only. + * $ilike: + * type: string + * title: $ilike + * description: Apply a case-insensitive `like` filter. Useful for strings only. + * $fulltext: + * type: string + * title: $fulltext + * description: Filter to apply on full-text properties. + * $overlap: + * type: array + * description: Filter arrays that have overlapping values with this parameter. + * items: + * type: string + * title: $overlap + * description: The value to match. + * $contains: + * type: array + * description: Filter arrays that contain some of the values of this parameter. + * items: + * type: string + * title: $contains + * description: The values to match. + * $contained: + * type: array + * description: Filter arrays that contain all values of this parameter. + * items: + * type: string + * title: $contained + * description: The values to match. + * $exists: + * type: boolean + * title: $exists + * description: Filter by whether a value for this parameter exists (not `null`). + * - type: array + * description: Filter by values not matching those in this parameter. + * items: + * type: string + * title: $not + * description: The values to not match. + * $gt: + * type: string + * title: $gt + * description: Filter by values greater than this parameter. Useful for numbers and dates only. + * $gte: + * type: string + * title: $gte + * description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + * $lt: + * type: string + * title: $lt + * description: Filter by values less than this parameter. Useful for numbers and dates only. + * $lte: + * type: string + * title: $lte + * description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + * $like: + * type: string + * title: $like + * description: Apply a `like` filter. Useful for strings only. + * $re: + * type: string + * title: $re + * description: Apply a regex filter. Useful for strings only. + * $ilike: + * type: string + * title: $ilike + * description: Apply a case-insensitive `like` filter. Useful for strings only. + * $fulltext: + * type: string + * title: $fulltext + * description: Filter to apply on full-text properties. + * $overlap: + * type: array + * description: Filter arrays that have overlapping values with this parameter. + * items: + * type: string + * title: $overlap + * description: The values to match. + * $contains: + * type: array + * description: Filter arrays that contain some of the values of this parameter. + * items: + * type: string + * title: $contains + * description: The values to match. + * $contained: + * type: array + * description: Filter arrays that contain all values of this parameter. + * items: + * type: string + * title: $contained + * description: The values to match. + * $exists: + * type: boolean + * title: $exists + * description: Filter by whether a value for this parameter exists (not `null`). + * x-codeSamples: + * - lang: Shell + * label: cURL + * source: |- + * curl '{backend_url}/store/product-tags' \ + * -H 'x-publishable-api-key: {your_publishable_api_key}' + * tags: + * - Product Tags + * responses: + * "200": + * description: OK + * content: + * application/json: + * schema: + * $ref: "#/components/schemas/StoreProductTagListResponse" + * "400": + * $ref: "#/components/responses/400_error" + * "401": + * $ref: "#/components/responses/unauthorized" + * "404": + * $ref: "#/components/responses/not_found_error" + * "409": + * $ref: "#/components/responses/invalid_state_error" + * "422": + * $ref: "#/components/responses/invalid_request_error" + * "500": + * $ref: "#/components/responses/500_error" + * +*/ + diff --git a/www/utils/generated/oas-output/operations/store/get_store_product-tags_[id].ts b/www/utils/generated/oas-output/operations/store/get_store_product-tags_[id].ts new file mode 100644 index 0000000000000..b53c69560e131 --- /dev/null +++ b/www/utils/generated/oas-output/operations/store/get_store_product-tags_[id].ts @@ -0,0 +1,65 @@ +/** + * @oas [get] /store/product-tags/{id} + * operationId: GetProductTagsId + * summary: Get a Product Tag + * description: Retrieve a product tag by its ID. You can expand the product tag's relations or select the fields that should be returned. + * x-authenticated: false + * parameters: + * - name: id + * in: path + * description: The product tag's ID. + * required: true + * schema: + * type: string + * - name: x-publishable-api-key + * in: header + * description: Publishable API Key created in the Medusa Admin. + * required: true + * schema: + * type: string + * externalDocs: + * url: https://docs.medusajs.com/api/store#publishable-api-key + * - name: fields + * in: query + * description: |- + * Comma-separated fields that should be included in the returned data. + * if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + * without prefix it will replace the entire default fields. + * required: false + * schema: + * type: string + * title: fields + * description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default + * fields. Without prefix it will replace the entire default fields. + * externalDocs: + * url: "#select-fields-and-relations" + * x-codeSamples: + * - lang: Shell + * label: cURL + * source: |- + * curl '{backend_url}/store/product-tags/{id}' \ + * -H 'x-publishable-api-key: {your_publishable_api_key}' + * tags: + * - Product Tags + * responses: + * "200": + * description: OK + * content: + * application/json: + * schema: + * $ref: "#/components/schemas/StoreProductTagResponse" + * "400": + * $ref: "#/components/responses/400_error" + * "401": + * $ref: "#/components/responses/unauthorized" + * "404": + * $ref: "#/components/responses/not_found_error" + * "409": + * $ref: "#/components/responses/invalid_state_error" + * "422": + * $ref: "#/components/responses/invalid_request_error" + * "500": + * $ref: "#/components/responses/500_error" + * +*/ + diff --git a/www/utils/generated/oas-output/operations/store/get_store_product-types.ts b/www/utils/generated/oas-output/operations/store/get_store_product-types.ts new file mode 100644 index 0000000000000..2d0c521566888 --- /dev/null +++ b/www/utils/generated/oas-output/operations/store/get_store_product-types.ts @@ -0,0 +1,607 @@ +/** + * @oas [get] /store/product-types + * operationId: GetProductTypes + * summary: List Product Types + * description: Retrieve a list of product types. The product types can be filtered by fields such as `id`. The product types can also be sorted or paginated. + * x-authenticated: false + * parameters: + * - name: x-publishable-api-key + * in: header + * description: Publishable API Key created in the Medusa Admin. + * required: true + * schema: + * type: string + * externalDocs: + * url: https://docs.medusajs.com/api/store#publishable-api-key + * - name: fields + * in: query + * description: |- + * Comma-separated fields that should be included in the returned data. + * if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + * without prefix it will replace the entire default fields. + * required: false + * schema: + * type: string + * title: fields + * description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default + * fields. Without prefix it will replace the entire default fields. + * externalDocs: + * url: "#select-fields-and-relations" + * - name: offset + * in: query + * description: The number of items to skip when retrieving a list. + * required: false + * schema: + * type: number + * title: offset + * description: The number of items to skip when retrieving a list. + * externalDocs: + * url: "#pagination" + * - name: limit + * in: query + * description: Limit the number of items returned in the list. + * required: false + * schema: + * type: number + * title: limit + * description: Limit the number of items returned in the list. + * externalDocs: + * url: "#pagination" + * - name: order + * in: query + * description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. + * required: false + * schema: + * type: string + * title: order + * description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. + * externalDocs: + * url: "#pagination" + * - name: $and + * in: query + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * required: false + * schema: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * - name: $or + * in: query + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * required: false + * schema: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * - name: q + * in: query + * description: Query to search the product type's searchable fields. + * required: false + * schema: + * type: string + * title: q + * description: Query to search the product type's searchable fields. + * - name: id + * in: query + * required: false + * schema: + * oneOf: + * - type: string + * title: id + * description: Filter by a product type's ID. + * - type: array + * description: Filter by product type IDs. + * items: + * type: string + * title: id + * description: A product type's ID. + * - name: value + * in: query + * required: false + * schema: + * oneOf: + * - type: string + * title: value + * description: Filter by a product type's value. + * - type: array + * description: Filter by product type values. + * items: + * type: string + * title: value + * description: A product type's value. + * - name: created_at + * in: query + * description: Filter by the type's creation date. + * required: false + * schema: + * type: object + * description: Filter by the type's creation date. + * properties: + * $and: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * $or: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * $eq: + * oneOf: + * - type: string + * title: $eq + * description: Filter by an exact match. + * - type: array + * description: Filter by multiple exact matches. + * items: + * type: string + * title: $eq + * description: An exact match. + * $ne: + * type: string + * title: $ne + * description: Filter by values not equal to this parameter. + * $in: + * type: array + * description: Filter by values in this array. + * items: + * type: string + * title: $in + * description: The value to match. + * $nin: + * type: array + * description: Filter by values not in this array. + * items: + * type: string + * title: $nin + * description: The value not to match. + * $not: + * oneOf: + * - type: string + * title: $not + * description: Filter by values not matching this parameter. + * - type: object + * description: Filter by values not matching the conditions in this parameter. + * properties: + * $and: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * $or: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * $eq: + * oneOf: + * - type: string + * title: $eq + * description: Filter by an exact match. + * - type: array + * description: Filter by multiple exact matches. + * items: + * type: string + * title: $eq + * description: The value to match. + * $ne: + * type: string + * title: $ne + * description: Filter by values not matching this parameter. + * $in: + * type: array + * description: Filter by values in this array. + * items: + * type: string + * title: $in + * description: The value to match. + * $nin: + * type: array + * description: Filter by values not in this array. + * items: + * type: string + * title: $nin + * description: The value to not match + * $not: + * oneOf: + * - type: string + * title: $not + * description: Filter by values not matching this parameter + * - type: object + * description: Filter by values not matching the conditions in this parameter. + * - type: array + * description: Filter by values not matching the values of this parameter. + * items: + * type: string + * title: $not + * description: The values to not match. + * $gt: + * type: string + * title: $gt + * description: Filter by values greater than this parameter. Useful for numbers and dates only. + * $gte: + * type: string + * title: $gte + * description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + * $lt: + * type: string + * title: $lt + * description: Filter by values less than this parameter. Useful for numbers and dates only. + * $lte: + * type: string + * title: $lte + * description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + * $like: + * type: string + * title: $like + * description: Apply a `like` filter. Useful for strings only. + * $re: + * type: string + * title: $re + * description: Apply a regex filter. Useful for strings only. + * $ilike: + * type: string + * title: $ilike + * description: Apply a case-insensitive `like` filter. Useful for strings only. + * $fulltext: + * type: string + * title: $fulltext + * description: Filter to apply on full-text properties. + * $overlap: + * type: array + * description: Filter arrays that have overlapping values with this parameter. + * items: + * type: string + * title: $overlap + * description: The value to match. + * $contains: + * type: array + * description: Filter arrays that contain some of the values of this parameter. + * items: + * type: string + * title: $contains + * description: The values to match. + * $contained: + * type: array + * description: Filter arrays that contain all values of this parameter. + * items: + * type: string + * title: $contained + * description: The values to match. + * $exists: + * type: boolean + * title: $exists + * description: Filter by whether a value for this parameter exists (not `null`). + * - type: array + * description: Filter by values not matching those in this parameter. + * items: + * type: string + * title: $not + * description: The values to not match. + * $gt: + * type: string + * title: $gt + * description: Filter by values greater than this parameter. Useful for numbers and dates only. + * $gte: + * type: string + * title: $gte + * description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + * $lt: + * type: string + * title: $lt + * description: Filter by values less than this parameter. Useful for numbers and dates only. + * $lte: + * type: string + * title: $lte + * description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + * $like: + * type: string + * title: $like + * description: Apply a `like` filter. Useful for strings only. + * $re: + * type: string + * title: $re + * description: Apply a regex filter. Useful for strings only. + * $ilike: + * type: string + * title: $ilike + * description: Apply a case-insensitive `like` filter. Useful for strings only. + * $fulltext: + * type: string + * title: $fulltext + * description: Filter to apply on full-text properties. + * $overlap: + * type: array + * description: Filter arrays that have overlapping values with this parameter. + * items: + * type: string + * title: $overlap + * description: The values to match. + * $contains: + * type: array + * description: Filter arrays that contain some of the values of this parameter. + * items: + * type: string + * title: $contains + * description: The values to match. + * $contained: + * type: array + * description: Filter arrays that contain all values of this parameter. + * items: + * type: string + * title: $contained + * description: The values to match. + * $exists: + * type: boolean + * title: $exists + * description: Filter by whether a value for this parameter exists (not `null`). + * - name: updated_at + * in: query + * description: Filter by the type's update date. + * required: false + * schema: + * type: object + * description: Filter by the type's update date. + * properties: + * $and: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * $or: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * $eq: + * oneOf: + * - type: string + * title: $eq + * description: Filter by an exact match. + * - type: array + * description: Filter by multiple exact matches. + * items: + * type: string + * title: $eq + * description: An exact match. + * $ne: + * type: string + * title: $ne + * description: Filter by values not equal to this parameter. + * $in: + * type: array + * description: Filter by values in this array. + * items: + * type: string + * title: $in + * description: The value to match. + * $nin: + * type: array + * description: Filter by values not in this array. + * items: + * type: string + * title: $nin + * description: The value not to match. + * $not: + * oneOf: + * - type: string + * title: $not + * description: Filter by values not matching this parameter. + * - type: object + * description: Filter by values not matching the conditions in this parameter. + * properties: + * $and: + * type: array + * description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $and + * $or: + * type: array + * description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. + * items: + * type: object + * title: $or + * $eq: + * oneOf: + * - type: string + * title: $eq + * description: Filter by an exact match. + * - type: array + * description: Filter by multiple exact matches. + * items: + * type: string + * title: $eq + * description: The value to match. + * $ne: + * type: string + * title: $ne + * description: Filter by values not matching this parameter. + * $in: + * type: array + * description: Filter by values in this array. + * items: + * type: string + * title: $in + * description: The value to match. + * $nin: + * type: array + * description: Filter by values not in this array. + * items: + * type: string + * title: $nin + * description: The value to not match + * $not: + * oneOf: + * - type: string + * title: $not + * description: Filter by values not matching this parameter + * - type: object + * description: Filter by values not matching the conditions in this parameter. + * - type: array + * description: Filter by values not matching the values of this parameter. + * items: + * type: string + * title: $not + * description: The values to not match. + * $gt: + * type: string + * title: $gt + * description: Filter by values greater than this parameter. Useful for numbers and dates only. + * $gte: + * type: string + * title: $gte + * description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + * $lt: + * type: string + * title: $lt + * description: Filter by values less than this parameter. Useful for numbers and dates only. + * $lte: + * type: string + * title: $lte + * description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + * $like: + * type: string + * title: $like + * description: Apply a `like` filter. Useful for strings only. + * $re: + * type: string + * title: $re + * description: Apply a regex filter. Useful for strings only. + * $ilike: + * type: string + * title: $ilike + * description: Apply a case-insensitive `like` filter. Useful for strings only. + * $fulltext: + * type: string + * title: $fulltext + * description: Filter to apply on full-text properties. + * $overlap: + * type: array + * description: Filter arrays that have overlapping values with this parameter. + * items: + * type: string + * title: $overlap + * description: The value to match. + * $contains: + * type: array + * description: Filter arrays that contain some of the values of this parameter. + * items: + * type: string + * title: $contains + * description: The values to match. + * $contained: + * type: array + * description: Filter arrays that contain all values of this parameter. + * items: + * type: string + * title: $contained + * description: The values to match. + * $exists: + * type: boolean + * title: $exists + * description: Filter by whether a value for this parameter exists (not `null`). + * - type: array + * description: Filter by values not matching those in this parameter. + * items: + * type: string + * title: $not + * description: The values to not match. + * $gt: + * type: string + * title: $gt + * description: Filter by values greater than this parameter. Useful for numbers and dates only. + * $gte: + * type: string + * title: $gte + * description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. + * $lt: + * type: string + * title: $lt + * description: Filter by values less than this parameter. Useful for numbers and dates only. + * $lte: + * type: string + * title: $lte + * description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. + * $like: + * type: string + * title: $like + * description: Apply a `like` filter. Useful for strings only. + * $re: + * type: string + * title: $re + * description: Apply a regex filter. Useful for strings only. + * $ilike: + * type: string + * title: $ilike + * description: Apply a case-insensitive `like` filter. Useful for strings only. + * $fulltext: + * type: string + * title: $fulltext + * description: Filter to apply on full-text properties. + * $overlap: + * type: array + * description: Filter arrays that have overlapping values with this parameter. + * items: + * type: string + * title: $overlap + * description: The values to match. + * $contains: + * type: array + * description: Filter arrays that contain some of the values of this parameter. + * items: + * type: string + * title: $contains + * description: The values to match. + * $contained: + * type: array + * description: Filter arrays that contain all values of this parameter. + * items: + * type: string + * title: $contained + * description: The values to match. + * $exists: + * type: boolean + * title: $exists + * description: Filter by whether a value for this parameter exists (not `null`). + * x-codeSamples: + * - lang: Shell + * label: cURL + * source: |- + * curl '{backend_url}/store/product-types' \ + * -H 'x-publishable-api-key: {your_publishable_api_key}' + * tags: + * - Product Types + * responses: + * "200": + * description: OK + * content: + * application/json: + * schema: + * $ref: "#/components/schemas/StoreProductTypeListResponse" + * "400": + * $ref: "#/components/responses/400_error" + * "401": + * $ref: "#/components/responses/unauthorized" + * "404": + * $ref: "#/components/responses/not_found_error" + * "409": + * $ref: "#/components/responses/invalid_state_error" + * "422": + * $ref: "#/components/responses/invalid_request_error" + * "500": + * $ref: "#/components/responses/500_error" + * +*/ + diff --git a/www/utils/generated/oas-output/operations/store/get_store_product-types_[id].ts b/www/utils/generated/oas-output/operations/store/get_store_product-types_[id].ts new file mode 100644 index 0000000000000..6a2142157f175 --- /dev/null +++ b/www/utils/generated/oas-output/operations/store/get_store_product-types_[id].ts @@ -0,0 +1,65 @@ +/** + * @oas [get] /store/product-types/{id} + * operationId: GetProductTypesId + * summary: Get a Product Type + * description: Retrieve a product type by its ID. You can expand the product type's relations or select the fields that should be returned. + * x-authenticated: false + * parameters: + * - name: id + * in: path + * description: The product type's ID. + * required: true + * schema: + * type: string + * - name: x-publishable-api-key + * in: header + * description: Publishable API Key created in the Medusa Admin. + * required: true + * schema: + * type: string + * externalDocs: + * url: https://docs.medusajs.com/api/store#publishable-api-key + * - name: fields + * in: query + * description: |- + * Comma-separated fields that should be included in the returned data. + * if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. + * without prefix it will replace the entire default fields. + * required: false + * schema: + * type: string + * title: fields + * description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default + * fields. Without prefix it will replace the entire default fields. + * externalDocs: + * url: "#select-fields-and-relations" + * x-codeSamples: + * - lang: Shell + * label: cURL + * source: |- + * curl '{backend_url}/store/product-types/{id}' \ + * -H 'x-publishable-api-key: {your_publishable_api_key}' + * tags: + * - Product Types + * responses: + * "200": + * description: OK + * content: + * application/json: + * schema: + * $ref: "#/components/schemas/StoreProductTypeResponse" + * "400": + * $ref: "#/components/responses/400_error" + * "401": + * $ref: "#/components/responses/unauthorized" + * "404": + * $ref: "#/components/responses/not_found_error" + * "409": + * $ref: "#/components/responses/invalid_state_error" + * "422": + * $ref: "#/components/responses/invalid_request_error" + * "500": + * $ref: "#/components/responses/500_error" + * +*/ + diff --git a/www/utils/generated/oas-output/schemas/AdminBatchCreateInventoryItemsLocationLevels.ts b/www/utils/generated/oas-output/schemas/AdminBatchCreateInventoryItemsLocationLevels.ts new file mode 100644 index 0000000000000..c72e1a1d8c08e --- /dev/null +++ b/www/utils/generated/oas-output/schemas/AdminBatchCreateInventoryItemsLocationLevels.ts @@ -0,0 +1,28 @@ +/** + * @schema AdminBatchCreateInventoryItemsLocationLevels + * type: object + * description: The details of an inventory level to create. + * required: + * - location_id + * - inventory_item_id + * properties: + * location_id: + * type: string + * title: location_id + * description: The ID of the associated stock location. + * inventory_item_id: + * type: string + * title: inventory_item_id + * description: The ID of the associated inventory item. + * stocked_quantity: + * type: number + * title: stocked_quantity + * description: The stocked quantity. + * incoming_quantity: + * type: number + * title: incoming_quantity + * description: The incoming quantity to be added to stock. + * x-schemaName: AdminBatchCreateInventoryItemsLocationLevels + * +*/ + diff --git a/www/utils/generated/oas-output/schemas/AdminBatchInventoryItemsLocationLevels.ts b/www/utils/generated/oas-output/schemas/AdminBatchInventoryItemsLocationLevels.ts new file mode 100644 index 0000000000000..643118c84a8f3 --- /dev/null +++ b/www/utils/generated/oas-output/schemas/AdminBatchInventoryItemsLocationLevels.ts @@ -0,0 +1,34 @@ +/** + * @schema AdminBatchInventoryItemsLocationLevels + * type: object + * description: The inventory levels to manage. + * properties: + * create: + * type: array + * description: The inventory levels to create. + * items: + * $ref: "#/components/schemas/AdminBatchCreateInventoryItemsLocationLevels" + * update: + * type: array + * description: The inventory levels to update. + * items: + * $ref: "#/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels" + * delete: + * type: array + * description: The IDs of the inventory levels to delete. + * items: + * type: string + * title: delete + * description: The ID of the inventory level to delete. + * force: + * type: boolean + * title: force + * description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity. + * required: + * - create + * - update + * - delete + * x-schemaName: AdminBatchInventoryItemsLocationLevels + * +*/ + diff --git a/www/utils/generated/oas-output/schemas/AdminBatchInventoryItemsLocationLevelsResponse.ts b/www/utils/generated/oas-output/schemas/AdminBatchInventoryItemsLocationLevelsResponse.ts new file mode 100644 index 0000000000000..896814d0e6758 --- /dev/null +++ b/www/utils/generated/oas-output/schemas/AdminBatchInventoryItemsLocationLevelsResponse.ts @@ -0,0 +1,26 @@ +/** + * @schema AdminBatchInventoryItemsLocationLevelsResponse + * type: object + * description: The result of managing inventory levels. + * x-schemaName: AdminBatchInventoryItemsLocationLevelsResponse + * properties: + * created: + * type: array + * description: The created inventory levels. + * items: + * $ref: "#/components/schemas/InventoryLevel" + * updated: + * type: array + * description: The updated inventory levels. + * items: + * $ref: "#/components/schemas/InventoryLevel" + * deleted: + * type: array + * description: The IDs of deleted inventory levels. + * items: + * type: string + * title: deleted + * description: The ID of a deleted inventory level. + * +*/ + diff --git a/www/utils/generated/oas-output/schemas/AdminBatchUpdateInventoryItemsLocationLevels.ts b/www/utils/generated/oas-output/schemas/AdminBatchUpdateInventoryItemsLocationLevels.ts new file mode 100644 index 0000000000000..9b49d0be14df1 --- /dev/null +++ b/www/utils/generated/oas-output/schemas/AdminBatchUpdateInventoryItemsLocationLevels.ts @@ -0,0 +1,32 @@ +/** + * @schema AdminBatchUpdateInventoryItemsLocationLevels + * type: object + * description: The details of an inventory level to update. + * required: + * - location_id + * - inventory_item_id + * properties: + * location_id: + * type: string + * title: location_id + * description: The ID of the associated stock location. + * inventory_item_id: + * type: string + * title: inventory_item_id + * description: The ID of the associated inventory item. + * stocked_quantity: + * type: number + * title: stocked_quantity + * description: The stocked quantity. + * incoming_quantity: + * type: number + * title: incoming_quantity + * description: The incoming quantity to be added to stock. + * id: + * type: string + * title: id + * description: The update's ID. + * x-schemaName: AdminBatchUpdateInventoryItemsLocationLevels + * +*/ + diff --git a/www/utils/generated/oas-output/schemas/AdminShippingOptionRule.ts b/www/utils/generated/oas-output/schemas/AdminShippingOptionRule.ts index a65354d80a6e6..1d1ec700837b2 100644 --- a/www/utils/generated/oas-output/schemas/AdminShippingOptionRule.ts +++ b/www/utils/generated/oas-output/schemas/AdminShippingOptionRule.ts @@ -24,9 +24,16 @@ * example: is_return * operator: * type: string - * title: operator - * description: The shipping option rule's operator. - * example: eq + * description: The rule's operator. + * enum: + * - gt + * - lt + * - eq + * - ne + * - in + * - lte + * - gte + * - nin * value: * type: string * title: value diff --git a/www/utils/generated/oas-output/schemas/StoreProductTagListResponse.ts b/www/utils/generated/oas-output/schemas/StoreProductTagListResponse.ts new file mode 100644 index 0000000000000..bafc034f40aa9 --- /dev/null +++ b/www/utils/generated/oas-output/schemas/StoreProductTagListResponse.ts @@ -0,0 +1,31 @@ +/** + * @schema StoreProductTagListResponse + * type: object + * description: The paginated list of product tags. + * x-schemaName: StoreProductTagListResponse + * required: + * - limit + * - offset + * - count + * - product_tags + * properties: + * limit: + * type: number + * title: limit + * description: The maximum number of items returned. + * offset: + * type: number + * title: offset + * description: The number of items to skip before retrieving the returned items. + * count: + * type: number + * title: count + * description: The total number of items available. + * product_tags: + * type: array + * description: The list of product tags. + * items: + * $ref: "#/components/schemas/StoreProductTag" + * +*/ + diff --git a/www/utils/generated/oas-output/schemas/StoreProductTagResponse.ts b/www/utils/generated/oas-output/schemas/StoreProductTagResponse.ts new file mode 100644 index 0000000000000..421858f8ff49e --- /dev/null +++ b/www/utils/generated/oas-output/schemas/StoreProductTagResponse.ts @@ -0,0 +1,13 @@ +/** + * @schema StoreProductTagResponse + * type: object + * description: The product tag's details. + * x-schemaName: StoreProductTagResponse + * required: + * - product_tag + * properties: + * product_tag: + * $ref: "#/components/schemas/StoreProductTag" + * +*/ + diff --git a/www/utils/generated/oas-output/schemas/StoreProductTypeListResponse.ts b/www/utils/generated/oas-output/schemas/StoreProductTypeListResponse.ts new file mode 100644 index 0000000000000..da6d7d8e38085 --- /dev/null +++ b/www/utils/generated/oas-output/schemas/StoreProductTypeListResponse.ts @@ -0,0 +1,31 @@ +/** + * @schema StoreProductTypeListResponse + * type: object + * description: The paginated list of product types. + * x-schemaName: StoreProductTypeListResponse + * required: + * - limit + * - offset + * - count + * - product_types + * properties: + * limit: + * type: number + * title: limit + * description: The maximum number of items returned. + * offset: + * type: number + * title: offset + * description: The number of items to skip before retrieving the returned items. + * count: + * type: number + * title: count + * description: The total number of items available. + * product_types: + * type: array + * description: The list of product types. + * items: + * $ref: "#/components/schemas/StoreProduct" + * +*/ + diff --git a/www/utils/generated/oas-output/schemas/StoreProductTypeResponse.ts b/www/utils/generated/oas-output/schemas/StoreProductTypeResponse.ts new file mode 100644 index 0000000000000..42e8f65dc2290 --- /dev/null +++ b/www/utils/generated/oas-output/schemas/StoreProductTypeResponse.ts @@ -0,0 +1,13 @@ +/** + * @schema StoreProductTypeResponse + * type: object + * description: The product type's details. + * x-schemaName: StoreProductTypeResponse + * required: + * - product_type + * properties: + * product_type: + * $ref: "#/components/schemas/StoreProduct" + * +*/ +