Files
medusa-store/docs/api/admin/components/schemas/product.yaml
2022-08-05 14:06:12 +02:00

189 lines
5.8 KiB
YAML

title: Product
description: >-
Products are a grouping of Product Variants that have common properties such
as images and descriptions. Products can have multiple options which define
the properties that Product Variants differ by.
x-resourceId: product
required:
- title
- profile_id
properties:
id:
type: string
description: The product's ID
example: prod_01G1G5V2MBA328390B5AXJ610F
title:
description: A title that can be displayed for easy identification of the Product.
type: string
example: Medusa Coffee Mug
subtitle:
description: An optional subtitle that can be used to further specify the Product.
type: string
description:
description: A short description of the Product.
type: string
example: Every programmer's best friend.
handle:
description: A unique identifier for the Product (e.g. for slug structure).
type: string
example: coffee-mug
is_giftcard:
description: >-
Whether the Product represents a Gift Card. Products that represent Gift
Cards will automatically generate a redeemable Gift Card code once they
are purchased.
type: boolean
default: false
status:
description: The status of the product
type: string
enum:
- draft
- proposed
- published
- rejected
default: draft
images:
description: Images of the Product. Available if the relation `images` is expanded.
type: array
items:
$ref: ./image.yaml
thumbnail:
description: A URL to an image file that can be used to identify the Product.
type: string
format: uri
options:
description: >-
The Product Options that are defined for the Product. Product Variants of
the Product will have a unique combination of Product Option Values.
Available if the relation `options` is expanded.
type: array
items:
$ref: ./product_option.yaml
variants:
description: >-
The Product Variants that belong to the Product. Each will have a unique
combination of Product Option Values. Available if the relation `variants`
is expanded.
type: array
items:
$ref: ./product_variant.yaml
profile_id:
description: >-
The ID of the Shipping Profile that the Product belongs to. Shipping
Profiles have a set of defined Shipping Options that can be used to
Fulfill a given set of Products.
type: string
example: sp_01G1G5V239ENSZ5MV4JAR737BM
profile:
description: Available if the relation `profile` is expanded.
$ref: ./shipping_profile.yaml
weight:
description: >-
The weight of the Product Variant. May be used in shipping rate
calculations.
type: number
example: null
height:
description: >-
The height of the Product Variant. May be used in shipping rate
calculations.
type: number
example: null
width:
description: >-
The width of the Product Variant. May be used in shipping rate
calculations.
type: number
example: null
length:
description: >-
The length of the Product Variant. May be used in shipping rate
calculations.
type: number
example: null
hs_code:
description: >-
The Harmonized System code of the Product Variant. May be used by
Fulfillment Providers to pass customs information to shipping carriers.
type: string
example: null
origin_country:
description: >-
The country in which the Product Variant was produced. May be used by
Fulfillment Providers to pass customs information to shipping carriers.
type: string
example: null
mid_code:
description: >-
The Manufacturers Identification code that identifies the manufacturer of
the Product Variant. May be used by Fulfillment Providers to pass customs
information to shipping carriers.
type: string
example: null
material:
description: >-
The material and composition that the Product Variant is made of, May be
used by Fulfillment Providers to pass customs information to shipping
carriers.
type: string
example: null
collection_id:
type: string
description: The Product Collection that the Product belongs to
example: pcol_01F0YESBFAZ0DV6V831JXWH0BG
collection:
description: >-
A product collection object. Available if the relation `collection` is
expanded.
type: object
type_id:
type: string
description: The Product type that the Product belongs to
example: ptyp_01G8X9A7ESKAJXG2H0E6F1MW7A
type:
description: Available if the relation `type` is expanded.
$ref: ./product_type.yaml
tags:
description: >-
The Product Tags assigned to the Product. Available if the relation `tags`
is expanded.
type: array
items:
$ref: ./product_tag.yaml
discountable:
description: >-
Whether the Product can be discounted. Discounts will not apply to Line
Items of this Product when this flag is set to `false`.
type: boolean
default: true
external_id:
description: The external ID of the product
type: string
example: null
sales_channels:
description: >-
The sales channels the product is associated with. Available if the
relation `sales_channels` is expanded.
type: array
items:
type: object
description: A sales channel object.
created_at:
type: string
description: The date with timezone at which the resource was created.
format: date-time
updated_at:
type: string
description: The date with timezone at which the resource was updated.
format: date-time
deleted_at:
type: string
description: The date with timezone at which the resource was deleted.
format: date-time
metadata:
type: object
description: An optional key-value map with additional details
example:
car: white