Create a product
POST /rest/v1/products
Creates the product locally and returns it immediately. Products may be created without images — they stay local (draft) until you create listings for them. Publishing is a separate call (POST /listings).
Authorization
apiKey Authorization: Bearer nbl_live_... (or nbl_test_... for test mode). Test-mode writes are validated and simulated but never persisted and never touch channels; simulated results are marked simulated.
In: header
Header Parameters
Unique client-generated key (max 255 chars), stored 24h.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/products" \ -H "Content-Type: application/json" \ -d '{ "title": "string" }'{ "id": "prod_66a1f09b2", "object": "product", "title": "Vintage denim jacket", "description": "string", "brand": "string", "tags": [ "string" ], "currency": "string", "status": "ready", "sync_status": "ok", "images": [ { "id": "img_ph1x8", "object": "image", "url": "http://example.com", "alt": "string", "position": 0 } ], "variants": [ { "id": "var_66a1f1", "object": "variant", "sku": "VDJ-M-001", "title": "string", "price": "19.90", "quantity": 0, "barcode": "string", "options": { "property1": "string", "property2": "string" } } ], "listings": [ { "id": "list_9ac2e", "channel_account_id": "string", "channel": "string", "status": "listed", "url_on_channel": "http://example.com" } ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}Last updated on July 28, 2026
Need help?
The API is in private beta — email us and a human replies, usually within one business day.