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 |
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 · object[]
The payload to send with the products
Minimum 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 Available options:
CLP, ARS, COP, MXN, EUR, USD, UF, PEN, BRL, HNL Required range:
x > 0Response
Products created successfully.
