Skip to main content
Bulk SKU Creation API

Overview

The Bulk SKU Creation API lets you add up to 100 SKUs in a single request. Each SKU can have a name and an optional item code. The item code is especially useful for matching line items in purchase orders to your inventory catalog.

Authentication

All requests require an API key in the request headers. Headers:

Request

Content-Type: application/json

Body Parameters

SKU Object

Each item in the skus array must contain:
Tip: itemCode is matched case-insensitively against purchase order line items — SKU-001 and sku-001 are treated as the same code.

Code Examples

Success Response

HTTP Status: 200 OK

Response Fields

Created SKU Object

Failed SKU Object

Response Example

Partial Success Response

If some SKUs fail (e.g., due to a database constraint), the API still returns 200 OK and reports which succeeded and which failed:

Error Responses

Missing Required Fields

HTTP Status: 400 Bad Request

Exceeding Maximum Batch Size

HTTP Status: 400 Bad Request

SKU Name Too Long

HTTP Status: 400 Bad Request

Authentication Errors

HTTP Status: 401 Unauthorized

Permission Errors

HTTP Status: 403 Forbidden

Linking SKUs to Purchase Order Line Items

Once you have created SKUs in your inventory, you can link purchase order line items to them by supplying skuName or skuCode on each line item when creating or updating a purchase order.

Matching priority

When both fields are provided, skuCode takes priority over skuName. If the skuCode match fails, the system does not fall back to skuName for the same item — a separate warning is returned.

Matching rules

Purchase order line item with SKU linking

When a SKU cannot be matched

If a SKU cannot be found, the purchase order is still created and the response includes a skuMatchWarnings array describing which line items could not be linked:
A missing SKU match is a warning, not an error — the purchase order is created successfully regardless.

Best Practices

  • Use a consistent, human-readable itemCode scheme (e.g., CATEGORY-NUMBER) so that external systems can reliably match line items
  • Send SKUs in bulk before creating purchase orders to ensure all line items can be matched
  • Keep SKU names unique within your organisation to avoid ambiguity when matching by skuName
  • SKU name is limited to 128 characters — ensure your names stay within this limit
  • Always prefer skuCode over skuName for matching — codes are more stable than display names
  • Populate hsnSac for items subject to GST to ensure correct tax classification downstream
  • Handle skuMatchWarnings in your integration to detect and remediate unmatched line items