Feed Reference
To make your products discoverable inside ChatGPT, merchants provide a structured product feed file that OpenAI ingests and indexes. This specification defines the product schema for file uploads: field names, data types, constraints, and example values needed for accurate discovery, pricing, availability, and seller context.
Each table below groups fields by schema object and indicates whether a field is Required or Optional, along with validation rules to help your engineering team build and maintain a compliant upload file.
Supplying all required fields ensures your products can be displayed correctly, while optional fields enrich relevance and user trust.
Header
A header file with feed metdata should be provided.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
feed_id | string | — | Identifier for the feed. | feed_8f3K2x | Required | — | — |
account_id | string | — | Identifier for the account. | acct_7F3K2x | Required | — | — |
target_merchant | string | — | Identifier for the target merchant. | merch_123 | Required | — | — |
target_country | string | ISO 3166-1 alpha-2 country code | Two-letter target country code. | US | Required | — | Must be a valid two-letter country code. |
Product
Every line in the feed file should be a product object, which defines the canonical product record and its variant set.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
id | string | — | Stable global identifier for this product. | SKU12345 | Required | — | Must remain stable over time. |
title | string | — | Product title. | Trail Running Shoe | Optional | — | — |
description | Description | — | Product description content. | { "plain": "Waterproof trail shoe with cushioned sole." } | Optional | — | Must match the Description object. |
url | string (uri) | URI | Canonical product URL. | https://example.com/products/SKU12345 | Optional | — | Must be a valid URI. |
media | Media[] | — | Product-level media assets. | [{ "type": "image", "url": "https://example.com/images/SKU12345.jpg" }] | Optional | — | Each item must match Media. |
variants | Variant[] | — | Variants associated with the product. | [{ "id": "SKU12345-BLK-10", "title": "Black / 10" }] | Required | — | Each item must match Variant. |
Variant
Use variants to represent purchasable product configurations such as color or size.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
id | string | — | Stable global identifier for this variant. | SKU12345-BLK-10 | Required | — | Must remain stable over time. |
title | string | — | Variant title. | Black / 10 | Required | — | — |
description | Description | — | Variant description content. | { "plain": "Black colorway in size 10." } | Optional | — | Must match the Description object. |
url | string (uri) | URI | Variant URL. | https://example.com/products/SKU12345-BLK-10 | Optional | — | Must be a valid URI. |
barcodes | Barcode[] | — | Variant barcode values. | [{ "type": "gtin", "value": "1234567890123" }] | Optional | — | Each item must match Barcode. |
price | Price | — | Active sale price for this variant. | { "amount": 7999, "currency": "USD" } | Optional | — | Must match the Price object. |
list_price | Price | — | Reference price before any discount is applied. | { "amount": 9999, "currency": "USD" } | Optional | — | Must match the Price object. |
unit_price | UnitPrice | — | Unit pricing metadata. | { "amount": 499, "currency": "USD", "measure": { "value": 1, "unit": "oz" }, "reference": { "value": 1, "unit": "oz" } } | Optional | — | Must match the UnitPrice object. |
availability | Availability | — | Availability state for the variant. | { "available": true, "status": "in_stock" } | Optional | — | Must match the Availability object. |
categories | Category[] | — | Categories associated with the variant. | [{ "value": "Apparel & Accessories > Shoes", "taxonomy": "merchant" }] | Optional | — | Each item must match Category. |
condition | Condition | Array of strings, such as new or secondhand | Applicable item conditions. | ["new"] | Optional | — | More than one value may apply. |
variant_options | VariantOption[] | — | Set of option selections for the variant, such as color or size. | [{ "name": "color", "value": "Black" }, { "name": "size", "value": "10" }] | Optional | — | Each item must match VariantOption. |
media | Media[] | — | Variant media assets. The first entry is treated as primary. | [{ "type": "image", "url": "https://example.com/images/SKU12345-BLK-10.jpg" }] | Optional | — | Each item must match Media. |
seller | Seller | — | Seller metadata for the variant. | { "name": "Example Store" } | Optional | — | Must match the Seller object. |
Description
Use the description object to supply plain text, HTML, Markdown, or any combination of those formats.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
plain | string | — | Plain-text description. | Waterproof trail shoe. | Optional | — | At least one description field is required if present. |
html | string | — | HTML description. | <p>Waterproof trail shoe.</p> | Optional | — | At least one description field is required if present. |
markdown | string | — | Markdown description. | Waterproof trail shoe. | Optional | — | At least one description field is required if present. |
Availability
Use availability to describe whether the variant can currently be purchased and, when available, its fulfillment state.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
available | boolean | true, false | Indicates whether the variant is currently purchasable. | true | Optional | — | — |
status | string | in_stock, backorder, preorder, out_of_stock, discontinued | Fulfillment state when availability is reported. | in_stock | Optional | — | — |
Price
Use the price object anywhere a product or variant needs an amount and currency pair.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
amount | integer | 0 or greater | Monetary amount expressed in ISO 4217 minor units. | 7999 | Required | — | Must be greater than or equal to 0. |
currency | string | ISO 4217 code | Three-letter ISO 4217 currency identifier. | USD | Required | — | — |
UnitPrice
Use the unit price object to express pricing per measured quantity.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
amount | integer | — | Unit price amount. | 499 | Required | — | — |
currency | string | ISO 4217 code | Currency code. | USD | Required | — | — |
measure | Measure | — | Measured quantity. | { "value": 1, "unit": "oz" } | Required | — | Must match the Measure object. |
reference | ReferenceMeasure | — | Reference quantity. | { "value": 1, "unit": "oz" } | Required | — | Must match the ReferenceMeasure object. |
Measure
Use the measure object to describe a quantity and unit.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
value | number | — | Measure value. | 1 | Required | — | — |
unit | string | — | Measure unit. | oz | Required | — | — |
ReferenceMeasure
Use the reference measure object to define the baseline quantity for unit pricing.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
value | integer | — | Reference value. | 1 | Required | — | — |
unit | string | — | Reference unit. | oz | Required | — | — |
Barcode
Use barcode entries to attach standardized barcode identifiers to a variant.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
type | string | — | Barcode type. | gtin | Required | — | — |
value | string | — | Barcode value. | 1234567890123 | Required | — | — |
Media
Use media entries to attach product or variant assets such as images or videos.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
type | string | — | Media type. | image | Required | — | — |
url | string (uri) | URI | Media URL. | https://example.com/images/SKU12345.jpg | Required | — | Must be a valid URI. |
alt_text | string | — | Alternate text. | Black trail running shoe | Optional | — | — |
width | integer | — | Media width. | 1200 | Optional | — | — |
height | integer | — | Media height. | 1200 | Optional | — | — |
VariantOption
Use variant options to capture dimensions like color, size, or material.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
name | string | — | Option name, such as color or size. | color | Required | — | — |
value | string | — | Selected option value. | Black | Required | — | — |
Category
Use categories to represent the taxonomy path associated with a variant.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
value | string | — | Category label or hierarchical path. | Apparel & Accessories > Shoes | Required | — | — |
taxonomy | string | — | Taxonomy system used for the category value, such as google_product_category, shopify, or merchant. | merchant | Optional | — | — |
Seller
Use the seller object to attach seller metadata and policy links to a variant.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
name | string | — | Seller name. | Example Store | Optional | — | — |
links | Link[] | — | Seller-related links. | [{ "type": "faq", "url": "https://example.com/faq" }] | Optional | — | Each item must match Link. |
Link
Use seller links to point to policies or supporting merchant pages.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
type | string | privacy_policy, terms_of_service, refund_policy, shipping_policy, faq | Kind of destination, such as privacy_policy, terms_of_service, refund_policy, shipping_policy, or faq. | refund_policy | Required | — | — |
title | string | — | Link title. | Returns policy | Optional | — | — |
url | string | — | Link destination URL. | https://example.com/returns | Required | — | — |
Condition
Use the condition array to describe applicable item conditions for a variant.
| Attribute | Data Type | Supported Values | Description | Example | Requirement | Dependencies | Validation Rules |
|---|---|---|---|---|---|---|---|
condition | string[] | Values such as new, secondhand | Applicable item conditions for the variant. | ["new"] | Optional | — | More than one value may apply. |
Prohibited Products Policy
To keep ChatGPT a safe place for everyone, we only allow products and services that are legal, safe, and appropriate for a general audience. Prohibited products include, but are not limited to, those that involve adult content, age-restricted products (for example, alcohol, nicotine, gambling), harmful or dangerous materials, weapons, prescription only medications, unlicensed financial products, legally restricted goods, illegal activities, or deceptive practices.
Merchants are responsible for ensuring their products and content do not violate the above restrictions or any applicable law. OpenAI may take corrective actions such as removing a product or banning a seller from being surfaced in ChatGPT if these policies are violated.