Batch create/upsert images
Up to 100 items in one call. With merge_key, every item gets upsert semantics (create-or-update by that key); without it, pure creates. Items are processed independently and the response is PER-ITEM: HTTP 200 does NOT mean every item succeeded — check each status (created | updated | error) and surface error.message/error.field_errors for failures. A 5,000-SKU ERP delta push is 50 calls with merge_key: "sku".
Authorizations
Workspace-scoped API key. Available scopes:
read:products: List and read products, including variants, references, and completeness.write:products: Create, update, and upsert products and their attribute values.delete:products: Delete products.read:images: List and read images.write:images: Create, update, and upsert images and their attribute values.delete:images: Delete images.read:vendors: List and read vendors.write:vendors: Create, update, and upsert vendors and their attribute values.delete:vendors: Delete vendors.read:categories: List and read categories.write:categories: Create, update, and upsert categories and their attribute values.delete:categories: Delete categories.read:sources: List and read data sources, including scraped content.write:sources: Create data sources (triggers processing) and update their attribute values.delete:sources: Delete data sources.read:attributes: List and read attribute definitions.write:attributes: Create and update attribute definitions.read:views: List and read saved grid views (MCP surface).write:views: Create and update grid views (MCP surface).read:channels: Read the enabled channel catalog.read:events: Read the workspace change feed and per-entity events.read:jobs: List and poll asynchronous job status.
Body
Response
Per-item results, in input order, under a summary that makes "N of M failed" a single field read. Check every item — a 200 only means the batch was processed. Route retries on error.retriable, never on message text. Summaries from re-runs must not be summed (an idempotent retry reports updates for rows the first attempt created).