PlutocracyMercury developer docs

Product

A product. Required fields are guaranteed by the server (the server's contract spec checks them); optional ones may be absent.

Type: object

FieldTypeDescription
handlestring
idstring | number
titlestring
vendorstring
typestring
min_price optionalnumber | null

Absent (or null) when zero.

compare_at_min_price optionalnumber | null
on_saleboolean | number

Boolean or 0/1.

total_stocknumber
created_datestring
tagsstring[]
imagestring
imagesstring[]
variantsVariant[]
prices{ [key]: PresentmentPrice }

Prices per presentment currency code.

Fields
FieldTypeDescription
[key: string]PresentmentPrice

Any further keys.

related optionalstring | RelatedProduct[]

Related products: a JSON string of RelatedProduct[] (or the array itself).

imploded optionalProduct[]

Products imploded into this one (same shape).

meta optionalobject
Fields
FieldTypeDescription
badges optionalBadge[]
[key: string]any

Any further keys.

[key: string]any

Any further keys.

Example (illustrative)
{
  "handle": "linen-shirt",
  "id": 7712345678901,
  "title": "Linen shirt",
  "vendor": "Mercury Apparel",
  "type": "Shirts",
  "min_price": 89,
  "compare_at_min_price": 89,
  "on_sale": false,
  "total_stock": 12,
  "created_date": "2026-11-01T00:00:00.000Z",
  "tags": [
    "summer"
  ],
  "image": "https://cdn.shopify.com/s/files/1/0000/0001/files/linen-shirt.jpg",
  "images": [
    "https://cdn.shopify.com/s/files/1/0000/0001/files/linen-shirt.jpg"
  ],
  "variants": [
    {
      "id": 7712345678901,
      "title": "Linen shirt",
      "price": 89,
      "compare_at_price": 89,
      "inventory": 12,
      "option1": "string",
      "option2": "string",
      "option3": "string"
    }
  ],
  "prices": {
    "AUD": {
      "price": 89,
      "compare_at_price": 89
    }
  },
  "related": [
    {
      "handle": "linen-shirt"
    }
  ],
  "imploded": [
    {
      "handle": "linen-shirt",
      "id": 7712345678901,
      "title": "Linen shirt",
      "vendor": "Mercury Apparel",
      "type": "Shirts",
      "min_price": 89,
      "compare_at_min_price": 89,
      "on_sale": false,
      "total_stock": 12,
      "created_date": "2026-11-01T00:00:00.000Z",
      "tags": [
        "summer"
      ],
      "image": "https://cdn.shopify.com/s/files/1/0000/0001/files/linen-shirt.jpg",
      "images": [
        "https://cdn.shopify.com/s/files/1/0000/0001/files/linen-shirt.jpg"
      ],
      "variants": [
        {
          "id": 7712345678901,
          "title": "Linen shirt",
          "price": 89
        }
      ],
      "prices": {
        "AUD": {
          "price": 89
        }
      },
      "related": [
        {
          "handle": "linen-shirt"
        }
      ],
      "imploded": [
        {}
      ],
      "meta": {
        "key": null
      }
    }
  ],
  "meta": {
    "badges": [
      {
        "content": "string",
        "background": "#1f6feb",
        "colour": "#1f6feb",
        "positiony": "string",
        "positionx": "string"
      }
    ]
  }
}

Used by

Declared in api-types/src/kit-contract/v1/search-api.ts.