In short. Merchants apply for approved partner access, validate their product data and submit catalog records through file uploads or the API.
Definition: As of 17 October 2026, OpenAI documents an application process for approved partners to submit product data to ChatGPT through file uploads or an application programming interface (API). A product feed supplies structured catalog records, including product descriptions, prices and availability.
Key facts
- OpenAI's Get Started guide restricts product feed onboarding to approved partners and links to the access application.
- The file upload overview recommends full catalog snapshots delivered through SFTP, a protocol for transferring files to a server, at least daily.
- The file product specification identifies Stable as the supported schema for production uploads and requires a separate row for each purchasable item or variant.
- The API product reference supports partial updates matched by product identifier, leaving products omitted from an update unchanged.
Where does a merchant apply?
The Get Started guide directs applicants to the merchant application. Its integration sequence starts with choosing file upload or API delivery, reviewing the corresponding specification and validating required fields for every record before submission.
The same guide recommends sending the entire catalog daily by file upload, then sending changes through the API during the day. Small feeds can use the API for both the complete catalog and subsequent updates. Promotions data uses the API exclusively.
The guide also assigns merchants responsibility for compliance with its prohibited products policy and applicable law. Its examples of prohibited products include alcohol, weapons and prescription-only medications.
How does file delivery work?
OpenAI's file upload overview treats a full snapshot as the catalog's source of truth. It supports Parquet and compressed JSONL, CSV and TSV files. Text uses UTF-8 encoding.
Each update overwrites the same filename. For a catalog split across files, called shards, the shard filenames also remain stable. OpenAI processes the files in the SFTP root directory after uploads stop changing for a short time.
The overview recommends validating a sample of around 100 items before checking the first complete snapshot and automating delivery. It identifies missing required fields, outdated field names and malformed values as common ingestion failures.
What does the API process look like?
The Feeds reference documents creation and retrieval of feed metadata. Its creation response returns a feed identifier. The Products reference documents retrieval and upsert operations: an upsert inserts a product or updates an existing product matched by its identifier.
The documented endpoint paths are:
POST /product_feeds
GET /product_feeds/{id}
GET /product_feeds/{id}/products
PATCH /product_feeds/{id}/products
Here, {id} is the feed identifier. The product update response includes an accepted boolean indicating whether the payload is accepted. An invalid product payload returns 400 Bad Request.
Related terms
- ChatGPT shopping
- Which fields does a ChatGPT product feed require?
- Product feed freshness
- Agentic Commerce Protocol
FAQ
Can I use a draft file schema in production?
OpenAI's file product specification directs production integrations to Stable. Draft is available for planning and feedback.
Does submitting a feed enable checkout?
The file product specification requires a separately enabled checkout integration. Setting a checkout eligibility flag alone leaves checkout onboarding incomplete.
Does removing a product from a snapshot remove it immediately?
The file upload overview retains the last processed record for up to 14 days. Setting is_eligible_search=false makes the product ineligible for search when OpenAI next processes a snapshot.
Sources
- OpenAI, "Get Started", undated
- OpenAI, "Overview" (file upload), undated
- OpenAI, "Products" (file upload), undated
- OpenAI, "Feeds", undated
- OpenAI, "Products" (API), undated
Check how a page reads to answer engines. Open the GEO score analyzer