Create products
Product Catalog
Create products
Create and update products without deleting existing ones. This endpoint only creates new products and updates existing ones.
POST
Create products
Overview
Create or update products in a product block WITHOUT deleting existing ones. This endpoint is additive - it only creates new products and updates existing ones based onexternal_id, leaving other products unchanged.
Perfect for incrementally adding products to your catalog without affecting the rest.
Use Cases
- Add New Products: Add products as they become available
- Update Specific Products: Update only certain products without touching others
- Incremental Sync: Sync new/changed products without full catalog refresh
- Safe Updates: Modify products without risking deletion of others
Authentication
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
promptBlockId | string | Yes | Product block ID to add products to |
Request Body
Array of product objects (1-2000 products):| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Product name |
description | string | Yes | Natural language description for AI (max 8192 chars) |
price | number | Yes | Product price (must be positive) |
currency | string | Yes | Currency code (USD, EUR, CLP, etc.) |
type | string | Yes | Product type (PRODUCT or SERVICE) |
external_id | string | Yes | Your unique identifier for this product |
file_url | string | No | URL to product image or file |
sku | string | No | Product SKU. Falls back to sku key in metadata |
metadata | array | Yes | Array of key-value pairs for additional data |
Example Request
Example Response
Product Types
| Type | Use For |
|---|---|
PRODUCT | Physical or digital products |
SERVICE | Services, consultations, subscriptions |
Currency Codes
Supported currencies: USD, EUR, GBP, CLP, MXN, COP, ARS, PEN, BRL, and more.Create vs Upsert
| Feature | Create (This Endpoint) | Upsert |
|---|---|---|
| New Products | ✅ Creates | ✅ Creates |
| Existing Products | ✅ Updates (by external_id) | ✅ Updates |
| Other Products | ✅ Keeps unchanged | ❌ Deletes if not in request |
| Use When | Adding/updating specific items | Full catalog sync |
Error Responses
| Status Code | Description |
|---|---|
| 400 | Bad Request - Invalid product data |
| 401 | Unauthorized - Invalid or missing API key |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Product block not found |
| 500 | Internal Server Error |
Related Endpoints
- GET /api/public/product/product-blocks - List available blocks
- POST /api/public/product/upsert/ - Full catalog sync
- POST /api/public/product/delete/ - Delete products
Headers
API key needed to authorize the request
Path Parameters
The prompt block ID to create the products
Body
application/json
The payload to send with the products
Required array length:
1 - 2000 elementsMinimum string length:
1In the description you only need to add words that help the AI do a semantic search, avoide placing here prices, links or other type of data that is not natural language
Required string length:
1 - 8192Available options:
shopify, vambe, woocommerce, axis, vtex, jumpseller, odoo, tiendanube, magento, custom_app Available options:
CLP, USD, MXN, BRL, UF, ARS, COP, UYU, PEN, EUR, HNL, BOB, PYG, GTQ, NIO, PAB, CRC, DOP, VES, BZD, SRD, GYD Required range:
x > 0Response
Products created successfully.
