Product APIs
POSTCreate Product
Inserts new product data into the system.
Requests go to the live API through streamoid.com and act on your real data.
Inserts new product data into the system. Each product_code may appear only once in the request and may not be empty or 'unknown'. The request body may not exceed 10 MiB, otherwise it fails with 413. product_code and parent_code may contain only letters, digits, spaces, hyphens and underscores. Otherwise the whole request fails with 422. A product whose image columns repeat the same URL is not written and is reported in failed_products. Products that already exist in the store are skipped and returned in existing_product_codes.
Authorization
AuthorizationstringrequiredheaderBearer token,
Bearer <token>. Create one under Tokens in your workspace.Query parameters
store_uuidstringrequiredExample:
67762d4ce590324df813bd8contologystringOntology (marketplace) the products are written to, e.g. SMP or amazon. For a catalogix-taxonomy store it must be enabled on the store's channels, or the request fails with 400. For a brand-taxonomy store with a brand set it must equal that brand, or the request fails with 400; with no brand set it is ignored and the brand taxonomy decides. If not provided, the store default is used: catalogix stores use SMP, brand stores use the store's brand, or the first marketplace of the brand taxonomy when no brand is set.
Example:
SMPHeaders
X-Request-IdstringOptional trace ID. If not provided, one is generated automatically
Body
application/json required
An array of objects. Each item:
parent_codestringrequiredproduct parent code
Example:
CI001Image URL 1stringImage URL 1. Image columns come from the marketplace image configuration.
Example:
https://assets-test.catalogix.ai/dee9c181338099b931cde78787df567astatusstringdefault: "new"Product status to set. The value is stored as sent and is never reset to new by this API. Case and surrounding spaces are ignored. If omitted, an existing product keeps its current status and a new product starts as new.
Allowed:
active new problem inactive draft under reviewExample:
inactiveproduct_codestringrequiredUnique identifier for the product (SKU code)
Example:
CI001-BLUResponses
200Insert successful
statusobjectrequiredStatus of the operation
Fields
codeintegerrequiredStatus code of the operation. 1 means success. -1 means failure. 0 means process moved to background
Example:
0messagestringrequiredMessage describing the status
Example:
successrequest_idstringUnique trace ID for the request. Echoed from X-Request-Id header or auto-generated.
Example:
8c8b2b7e-23d7-4c2a-91b0-2a7c4dfbb312dataobjectrequiredInformation related to insertion of each products
Fields
store_uuidstringrequiredUnique identifier for the store
Example:
67762d4ce590324df813bd8cfailed_productsobjectProducts that were not written, keyed by product_code. The value describes the failure: an object of attribute to error message (for example a rejected attribute value, or a duplicate image URL), or a plain message.
successful_product_codesstring[]Products submitted for writing that were not reported as failed.
existing_product_codesstring[]Products that already exist in the store. They are skipped, not updated; use PUT to update them.
400The store or ontology could not be resolved, for example the store does not exist, has no store taxonomy set, or the requested ontology is not enabled on it
statusstringdefault: "error"The status of the request, typically 'error'
detailstringrequiredA description of the error
401Unauthorized – Bearer token missing or invalid
statusobjectFields
codeintegerExample:
-1messagestringExample:
Unauthorized – invalid or missing Bearer token413More than 100 products in the request, or a request body over 10 MiB
statusstringdefault: "error"The status of the request, typically 'error'
detailstringrequiredA description of the error
422Validation error: a malformed body, a missing or non-string product_code or parent_code, a blank or 'unknown' product_code, a special character in a code, a repeated product_code, or an invalid status
detailobject[]Item fields
locstring | integer[]requireddefault: ["body",""]msgstringrequireddefault: "Field Required"typestringrequireddefault: "missing"500Internal server error
statusobjectFields
codeintegerExample:
-1messagestringExample:
Internal server error. Please contact support@catalogix.ai502Downstream service unavailable, for example when the marketplace image configuration cannot be fetched
statusstringdefault: "error"The status of the request, typically 'error'
detailstringrequiredA description of the error
Something missing or unclear? Write to support@streamoid.com.