---
title: "Get a product"
method: GET
path: "/products/{product_id}"
tags: ["Products"]
---

# Get a product

`GET /products/{product_id}`

## Request

- Base URL: `https://api.whatnot.com/seller-api/rest/v2`
- URL: `https://api.whatnot.com/seller-api/rest/v2/products/{product_id}`
- Auth: OAuth 2
  - Authorization code: `https://api.whatnot.com/seller-api/rest/oauth/authorize`
  - Token URL: `https://api.whatnot.com/seller-api/rest/oauth/token`

Fetch a single product owned by the authenticated seller.

## Path parameters

- `product_id` string, required

## Response `200`

Successful Response

- Product: The full representation of a product, shared by the REST v2 `get_product` response and any full-body product webhooks.
  - `id` string, nullable: The product's id.
  - `title` string, required: The product's title.
  - `description` string, nullable: The product's description.
  - `external_id` string, nullable: The seller-provided external identifier for the product.
  - `url` string, nullable: The url of the product in the seller's inventory dashboard.
  - `category` Category
    - `id` string, required: The category's id.
    - `name` string, nullable: The category's display name.
  - `attributes` ProductAttribute[]: The product's attribute values.
    - `id` string, required: The product attribute's id.
    - `name` string, nullable: The product attribute's display name, if the definition is known.
    - `value` string, required: The attribute's value for this product.
  - `options` ProductOption[]: The product's option axes (e.g. Color, Size).
    - `id` string, nullable: The product option's id.
    - `name` string, required: The option's display name, e.g. 'Color'.
    - `values` string[], required: The option's values, e.g. ['Red', 'Blue'].
  - `media` Media[]: The product's images.
    - `id` string, nullable: The image's id.
    - `url` string, required: On create, the image URL to ingest. On read, the CDN URL of the ingested image.
    - `alt` string, nullable: The image's alt text / label, if set.
  - `dimension_profile` DimensionProfile: A dimension profile, also embedded in products and shipment items. On read, the resolved profile. On create, reference an existing profile by `id`, or supply `weight` and `dimensions` (with an optional `name`) to auto-create one.
    - `id` string, nullable: An existing dimension profile id to reference.
    - `name` string, nullable: The dimension profile's name. When auto-creating a profile this is used as a name prefix, with the weight and dimensions appended.
    - `weight` Weight
      - `value` number, required: The weight amount.
      - `unit` 'ounce' | 'pound' | 'gram' | 'kilogram', required: The unit used to express weight.
    - `dimensions` Dimensions
      - `length` number, required: The package length.
      - `width` number, required: The package width.
      - `height` number, required: The package height.
      - `unit` 'inch' | 'feet' | 'centimeter' | 'meter', required
    - `ownership` 'seller' | 'whatnot'
    - `active` boolean, nullable: Whether the dimension profile is active.
  - `created_at` string, date-time, nullable: When the product was created.
  - `updated_at` string, date-time, nullable: When the product was last updated.

## Other responses

- `404`: Product not found.
- `422`: Validation Error

---

[API](https://skmtc.dev/whatnot/apis/whatnot-seller-api.md) - [All operations](https://skmtc.dev/whatnot/apis/whatnot-seller-api/llms.txt) - [OpenAPI document](https://skmtc.dev/whatnot/apis/whatnot-seller-api/revisions/e619f15f7ce0?raw)
