Validate Supplier Link Import
POST/api/v2/products/import-supplier-links/validate
Validate supplier link import rows and return a per-row preview before importing.
products:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token.
Rows whose supplier_name is blank are skipped (products exported without a supplier link) and counted in summary.total_skipped.
A supplier_name that does not match an existing supplier is reported as a warning and the supplier is created during the import. Send create_missing_suppliers=false to have those rows fail validation with an error instead.
Request fields:
- rows (required, array, min 1): rows to validate
- product_sku (required, string): must match an existing product SKU
- supplier_name (required, string): matched case-insensitively; created on import when new
- supplier_sku (optional, string): supplier's own SKU for the product. Omit the key entirely to leave an existing value untouched on update
- moq (optional, numeric): minimum order quantity, non-negative
- leadtime (optional, integer): lead time in days, non-negative
- target_stock_days (optional, integer): target days of stock, non-negative
- is_default (optional, string): yes / true / 1 / y marks this supplier as the product's default
- tier_{pricingTierId} (optional, numeric): price for that supplier pricing tier, e.g. tier_1
- create_missing_suppliers (optional, boolean, default true): when false, an unknown supplier_name is an error rather than a warning
Each returned link carries errors and warnings arrays; a link is importable when errors is empty. supplier_will_be_created is true when the supplier does not exist yet, in which case supplier is null and the supplier is created during the import. is_update / supplier_product_id are set when the product+supplier combination already exists, so the import updates it instead of creating a duplicate.
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
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.
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.