Skip to content
Guides
CatalogProducts
catalog:create

Create a product

Creates a product and its initial catalog variants.

POST/v1/catalog/products

Creates a product and its initial catalog variants.

Authorization

bearerAuth
AuthorizationBearer <token>

OAuth2 access token issued by Ecomiq Auth.

In: header

Header Parameters

x-Store-Id?string

Store the request acts on. Not needed when the token is bound to a store.

Authorization*string

OAuth 2.0 bearer token.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/v1/catalog/products" \  -H "x-Store-Id: <store-id>" \  -H "Authorization: Bearer <token>" \  -H "Content-Type: application/json" \  -d '{    "name": "Polo de algodón",    "sku": "POL-001",    "description": "Polo de algodón pima para uso diario.",    "status": "active",    "price": 89,    "compareAtPrice": 99,    "minOrderQuantity": 1,    "isDigital": false,    "trackInventory": true,    "lowStockThreshold": 5,    "allowBackorders": false,    "tags": [      "ropa",      "algodón"    ]  }'
{  "id": "7204558912004325302",  "storeId": "7204558912004325301",  "sellerId": null,  "sellerApprovalPolicy": "manualReview",  "name": "Polo de algodón",  "description": "Polo de algodón pima para uso diario.",  "slug": "polo-de-algodon",  "summary": null,  "type": "product",  "condition": "new",  "discountPercentage": null,  "taxRate": null,  "taxIncluded": null,  "brand": null,  "variants": [    {      "id": "7204558912004325377",      "storeId": "7204558912004325301",      "productId": "7204558912004325302",      "version": 1,      "packageId": null,      "name": "Azul / M",      "sku": "POL-001-AZ-M",      "barcode": "7751234567890",      "countryOfOrigin": null,      "hsCode": null,      "order": 1,      "isDefault": true,      "price": 89,      "compareAtPrice": 99,      "costPrice": null,      "currency": "PEN",      "isDigital": false,      "trackInventory": true,      "allowBackorders": false,      "lowStockThreshold": 5,      "weight": 0.25,      "width": 30,      "height": 2,      "length": 40,      "unitOfMeasure": "kilogram",      "onHand": 12,      "committed": 2,      "available": 10,      "options": [        {          "name": "Color",          "key": "color",          "value": "Azul"        },        {          "name": "Talla",          "key": "talla",          "value": "M"        }      ],      "images": [],      "inventories": [],      "status": "active",      "createdOn": "2026-07-15T15:30:00Z",      "updatedOn": "2026-07-20T18:10:00Z"    }  ],  "price": 89,  "compareAtPrice": 99,  "costPrice": null,  "totalOnHand": 12,  "available": 10,  "committed": 2,  "totalVariants": 1,  "activeVariants": 1,  "currency": "PEN",  "vendor": null,  "tags": [    "ropa",    "algodón"  ],  "specifications": [],  "images": [],  "category": null,  "bundleItems": [],  "packageId": null,  "shippingProfileId": null,  "status": "active",  "moderationReason": null,  "metaTitle": null,  "metaDescription": null,  "metaKeywords": null,  "featuredUntil": null,  "isFeatured": false,  "minOrderQuantity": 1,  "maxOrderQuantity": null,  "isDigital": false,  "hasVariants": true,  "hasOptions": true,  "hasModifiers": false,  "hasActivity": false,  "hasPriceLists": false,  "hasReviews": false,  "hasSizeGuide": false,  "modifierGroups": [],  "sizeGuide": null,  "views": 0,  "salesCount": 0,  "reviewsCount": 0,  "collections": [],  "createdOn": "2026-07-15T15:00:00Z",  "updatedOn": "2026-07-20T18:00:00Z",  "lastActivityOn": null}