Product APIs
PUTUpdate Product
Updates existing product data.
Requests go to the live API through streamoid.com and act on your real data.
Updates existing product data. 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. Unlike insert, the character set of product_code and parent_code is not restricted, so products created before that rule can still be updated. Neither code can be changed: product_code identifies the product, and a product whose parent_code differs from the stored one is not written and is reported in failed_products as 'Product is already linked to a different parent'. A product whose image columns repeat the same URL is not written and is reported in failed_products. Products not found in the store are skipped and returned in unavailable_skus.
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:
CI001statusstringProduct 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:
CI001Responses
200Update 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-2a7c4dfbb312dataobjectrequiredData containing updated and unavailable SKUs
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.
updated_skusstring[]Products that were updated and not reported as failed
unavailable_skusstring[]Products not found in the store. They are skipped; use POST to create 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 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.