Skip to main content
get_product loads a single product when you already have its id from search or lookup. Use it for full detail and interactive variant selection. See quickstart to install the UCP CLI.

Request

ucp catalog get_product HvGOfxD \
  --format json

Variant selection

For products with configurable options (color, size, etc.), pass catalog.selected to narrow the variant. The response includes options (each value carries an exists flag) and selected (the effective selections after any server-side relaxation). Use a product that has variants — solo products return no options.
{
  "catalog": {
    "id": "iQ3ukd7",
    "selected": [
      { "name": "Color", "label": "Black Frame" },
      { "name": "Size", "label": "22\"x26\"" }
    ],
    "preferences": ["Color", "Size"],
    "context": {
      "address_country": "US",
      "currency": "USD"
    }
  }
}
preferences controls relaxation order when no exact variant matches all selections. Options are dropped from the end of the list first — e.g. ["Color", "Size"] keeps Color and relaxes Size. This mirrors GET /v1/products/{id} query params option_<name>=<label> (e.g. option_color=Blue&option_size=10).

Response shape

The product object follows the UCP get_product spec:
FieldNotes
optionsSelectable dimensions with a per-value exists flag (present on get_product, not search)
selectedEffective selections after relaxation — diff against your request to detect relaxation
variantsPer-merchant listings (Channel3 global extension)
When a selection resolves to a different canonical product (e.g. switching color), product.id reflects the resolved product.

Which tool should I use?

You have…Use
A search phrasesearch_catalog
A list of ids or URLslookup_catalog
One product idget_product

What’s next

Extension reference

Extra fields and filters