Start an import
POST /rest/v1/imports
Imports a connected channel account's catalog (channel_account_id) or a CSV (csv, the file content as text) into Nembol, in the background. Same rules as the dashboard: items already imported from that account are skipped (only new items come in); an item whose SKU matches exactly one existing product is linked to it instead of duplicated; the plan's product limit stops creation. Channel imports use the account's import settings; filters override them for this import only. Notes about the plan (e.g. options the plan ignores, or the store already at its product limit) are returned in import.warnings. Read them before telling the person what will happen. Follow progress with GET /operations/{id} or the operation.completed webhook. One import per channel account (and one CSV) at a time. Requires products:write.
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
application/json
curl -X POST "https://example.com/imports" \ -H "Content-Type: application/json" \ -d '{ "channel_account_id": "chac_66f0a1" }'{ "id": "op_8fd2c1", "object": "operation", "type": "string", "status": "pending", "resource_type": "string", "resource_id": "string", "results": [ { "channel_account_id": "string", "product_id": "string", "listing_id": "string", "sku": "string", "variant_id": "string", "previous_price": "19.90", "price": "19.90", "status": "pending", "error": { "code": "string", "message": "string", "details": {} } } ], "import": { "source": "channel", "channel_account_id": "string", "filters": {}, "warnings": [ "string" ], "processed": 0, "total": 0, "created": 0, "updated": 0, "unchanged": 0, "linked": 0, "not_imported": 0, "requires_attention": 0, "error": "string", "undone_at": "2019-08-24T14:15:22Z", "undo": { "removed": 0, "unlinked": 0, "kept": { "live_on_a_channel": 0, "modified_after_import": 0 } } }, "created_at": "2019-08-24T14:15:22Z", "completed_at": "2019-08-24T14:15:22Z"}Last updated on October 15, 2026
Need help?
Email us and a human replies, usually within one business day.