API ReferenceImports

Start an import

POST /rest/v1/imports

POST
/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.

AuthorizationBearer <token>

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

Idempotency-Key?string

Unique client-generated key (max 255 chars), stored 24h.

Lengthlength <= 255

Request 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.