Create Products from Mappings
POST/api/shopify/:integrationInstance/create-products-from-mappings
Queues a background operation that creates new SKU.io products from unmapped Shopify products, populating fields according to the configured field mappings. The endpoint returns immediately with status "queued".
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Authentication: Requires Bearer token.
Body - exactly one selection strategy is required:
- ids (array of integers, max 1000): specific Shopify product IDs (SKU.io row IDs).
- process_all (boolean): process every eligible product on the instance.
- filters (object): server-side selection using the same filter names as List Shopify Products, e.g. {"mapped.is": false, "vendor": "Acme"}. Products are created only for the Shopify products those filters match. Allowed names: id, integration_instance_id, shopify_variant_id, shopify_product_id, inventory_item_id, sku, barcode, shopify_product_title, shopify_variant_title, search, vendor, product_type, mapped.is, has_sku.is, in_orders.is, archived (plus the advanced
filter_groupstree).
Response field tracked_job_log_id is the identifier of the background progress record created for this run, so the run's progress and completion summary can be followed after the request returns. It is null when the request is not attributed to a user.
Returns 400 if no strategy is given, if more than 1000 ids are sent, or if no field mappings are configured yet.
Returns 422 when filters names a filter that is not supported (the message lists the unknown and the allowed names) or matches no Shopify products. When filters are used, the response message and selection_summary.matching_count give the number of matching products.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Bad Request
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.