Overview
The Products API allows you to create, update, retrieve, and manage products in your Medusa store. Products can have multiple variants, options, images, and be organized into collections and categories. Base Path:/admin/products
Source: packages/medusa/src/api/admin/products/route.ts
List Products
Retrieve a list of products with filtering and pagination.Query Parameters
string
Comma-separated list of fields to include (e.g.,
id,title,status,variants.sku).number
default:"15"
Maximum number of products to return.
number
default:"0"
Number of products to skip.
string
Filter by product status:
published, draft, or proposed.string
Filter products by sales channel ID.
string
Filter products by collection ID.
string[]
Filter products by tag IDs.
string[]
Filter products by category IDs.
string
Search query for product title or description.
Request
Response
Product[]
Array of product objects.
number
Total number of products matching the filters.
packages/medusa/src/api/admin/products/route.ts:17
Create Product
Create a new product with variants and options.Request Body
string
required
The product’s title.
string
The product’s subtitle.
string
The product’s description.
string
default:"draft"
Product status:
published, draft, or proposed.string
Unique URL-friendly identifier. Auto-generated from title if not provided.
boolean
default:"false"
Whether the product is a gift card.
boolean
default:"true"
Whether discounts can be applied to the product.
object[]
Product images.
string
URL of the product’s thumbnail image.
string
ID of the collection the product belongs to.
string
ID of the product type.
object[]
Product categories.
object[]
Product tags.
object[]
required
Product options (e.g., Size, Color).
object[]
Product variants.
object[]
Sales channels where the product is available.
number
Product weight.
number
Product length.
number
Product height.
number
Product width.
object
Key-value pairs of custom metadata.
Request
Response
packages/medusa/src/api/admin/products/route.ts:94
Types: packages/core/types/src/http/product/admin/payloads.ts:159
Get Product
Retrieve a single product by ID.Path Parameters
string
required
The product’s ID.
Request
Response
Update Product
Update an existing product.Path Parameters
string
required
The product’s ID.
Request Body
Accepts the same fields as Create Product, all optional.Request
Response
Delete Product
Delete a product (soft delete).Path Parameters
string
required
The product’s ID.
Request
Response
Product Variants
Create Variant
Add a new variant to an existing product.Update Variant
Update a product variant.Delete Variant
Remove a variant from a product.Product Options
Create Option
Add a new option to a product.Update Option
Update a product option.Delete Option
Remove an option from a product.Batch Operations
Batch Create/Update Products
Create or update multiple products in a single request.Request Body
object[]
Products to create.
object[]
Products to update.
Next Steps
Inventory
Manage product inventory
Pricing
Configure product pricing