---
displayed_sidebar: homepage
---

import ParameterTypes from "@site/src/components/ParameterTypes"

# AdminPostProductsProductReq

## Properties

<ParameterTypes parameters={[
  {
    "name": "categories",
    "type": "[ProductProductCategoryReq](medusa.ProductProductCategoryReq.mdx)[]",
    "description": "Product categories to add the Product to.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "featureFlag": "product_categories",
    "children": [
      {
        "name": "id",
        "type": "`string`",
        "description": "The ID of a Product Category.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "collection_id",
    "type": "`string`",
    "description": "The ID of the Product Collection the Product belongs to.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "description",
    "type": "`string`",
    "description": "The description of the Product.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "discountable",
    "type": "`boolean`",
    "description": "A flag to indicate if discounts can be applied to the Line Items generated from this Product",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "handle",
    "type": "`string`",
    "description": "A unique handle to identify the Product by. If not provided, the kebab-case version of the product title will be used. This can be used as a slug in URLs.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "height",
    "type": "`number`",
    "description": "The height of the Product.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "hs_code",
    "type": "`string`",
    "description": "The Harmonized System code of the product variant.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "images",
    "type": "`string`[]",
    "description": "An array of images of the Product. Each value in the array is a URL to the image. You can use the upload API Routes to upload the image and obtain a URL.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "length",
    "type": "`number`",
    "description": "The length of the Product.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "material",
    "type": "`string`",
    "description": "The material composition of the Product.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "metadata",
    "type": "`Record<string, unknown>`",
    "description": "An optional set of key-value pairs with additional information.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "mid_code",
    "type": "`string`",
    "description": "The Manufacturer Identification code of the Product.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "origin_country",
    "type": "`string`",
    "description": "The country of origin of the Product.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "sales_channels",
    "type": "`null` \\| [ProductSalesChannelReq](medusa.ProductSalesChannelReq.mdx)[]",
    "description": "Sales channels to associate the Product with.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "status",
    "type": "[ProductStatus](../../entities/enums/entities.ProductStatus.mdx)",
    "description": "The status of the product. The product is shown to the customer only if its status is `published`.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": [
      {
        "name": "DRAFT",
        "type": "`\"draft\"`",
        "description": "The product is a draft. It's not viewable by customers.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "PROPOSED",
        "type": "`\"proposed\"`",
        "description": "The product is proposed, but not yet published.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "PUBLISHED",
        "type": "`\"published\"`",
        "description": "The product is published.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "REJECTED",
        "type": "`\"rejected\"`",
        "description": "The product is rejected. It's not viewable by customers.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "subtitle",
    "type": "`string`",
    "description": "The subtitle of the Product",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "tags",
    "type": "[ProductTagReq](medusa.ProductTagReq.mdx)[]",
    "description": "Product Tags to associate the Product with.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": [
      {
        "name": "id",
        "type": "`string`",
        "description": "The ID of an existing Product Tag. If not provided, a new product tag will be created.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "value",
        "type": "`string`",
        "description": "The value of the Tag. If the `id` is provided, the value of the existing tag will be updated.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "thumbnail",
    "type": "`string`",
    "description": "The thumbnail to use for the Product. The value is a URL to the thumbnail. You can use the upload API Routes to upload the thumbnail and obtain a URL.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "title",
    "type": "`string`",
    "description": "The title of the Product",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "type",
    "type": "[ProductTypeReq](medusa.ProductTypeReq.mdx)",
    "description": "The Product Type to associate the Product with.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": [
      {
        "name": "id",
        "type": "`string`",
        "description": "The ID of the product type. It's only required when referring to an existing product type.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "value",
        "type": "`string`",
        "description": "The value of the product type.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "variants",
    "type": "[ProductVariantReq](medusa.ProductVariantReq-1.mdx)[]",
    "description": "An array of Product Variants to create with the Product. Each product variant must have a unique combination of Product Option values.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": [
      {
        "name": "allow_backorder",
        "type": "`boolean`",
        "description": "Whether the product variant can be purchased when out of stock.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "barcode",
        "type": "`string`",
        "description": "A generic GTIN field of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "ean",
        "type": "`string`",
        "description": "The EAN number of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "height",
        "type": "`number`",
        "description": "The height of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "hs_code",
        "type": "`string`",
        "description": "The Harmonized System code of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "id",
        "type": "`string`",
        "description": "The id of an existing product variant. If provided, the details of the product variant will be updated. If not, a new product variant will be created.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "inventory_quantity",
        "type": "`number`",
        "description": "The amount of stock kept of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "length",
        "type": "`number`",
        "description": "The length of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "manage_inventory",
        "type": "`boolean`",
        "description": "Whether Medusa should keep track of the inventory of this product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "material",
        "type": "`string`",
        "description": "The material composition of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "metadata",
        "type": "`Record<string, unknown>`",
        "description": "An optional set of key-value pairs with additional information.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "mid_code",
        "type": "`string`",
        "description": "The Manufacturer Identification code of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "options",
        "type": "[ProductVariantOptionReq](medusa.ProductVariantOptionReq-3.mdx)[]",
        "description": "An array of Product Option values that the variant corresponds to.",
        "optional": true,
        "defaultValue": "[]",
        "expandable": false,
        "children": []
      },
      {
        "name": "origin_country",
        "type": "`string`",
        "description": "The country of origin of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "prices",
        "type": "[ProductVariantPricesUpdateReq](medusa.ProductVariantPricesUpdateReq.mdx)[]",
        "description": "An array of product variant prices. A product variant can have different prices for each region or currency code.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "sku",
        "type": "`string`",
        "description": "The unique SKU of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "title",
        "type": "`string`",
        "description": "The title of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "upc",
        "type": "`string`",
        "description": "The UPC number of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "weight",
        "type": "`number`",
        "description": "The weight of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "width",
        "type": "`number`",
        "description": "The width of the product variant.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "weight",
    "type": "`number`",
    "description": "The weight of the Product.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "width",
    "type": "`number`",
    "description": "The width of the Product.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  }
]} expandUrl="https://docs.medusajs.com/development/entities/repositories#retrieving-a-list-of-records"/>
