Disconnect a channel account
POST /rest/v1/channel_accounts/{id}/disconnect
Disconnects the account. It is the same action as the dashboard's Disconnect. Sync with the channel stops; listings stay on the channel but Nembol no longer updates them; reconnecting needs the merchant to log in again. Because it cannot be undone through the API, it asks for a confirmation first: the 409 confirmation_required answer carries a token. Repeat the same request with Nembol-Confirmation: <token> (like every irreversible action). Keys created before 2026-10-08 (no two-step flow) send {"confirm": true} in the body instead. The account that bills the store through (Shopify, WooCommerce or Wix billing) cannot be disconnected (channel_not_disconnectable); an inactive subscription answers 402 subscription_inactive. Emits channel_account.disconnected. Requires channels:connect.
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
Path Parameters
Channel account id from GET /channel_accounts (e.g. chac_...). Never construct it.
Header Parameters
Unique client-generated key (max 255 chars), stored 24h.
length <= 255The one-time token from a 409 confirmation_required answer, to confirm an irreversible action (repeat the same request with it, within 10 minutes).
Request Body
application/json
No body is needed; the confirmation goes in the Nembol-Confirmation header.
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/channel_accounts/string/disconnect" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "object": "channel_account", "deleted": true}Last updated on October 16, 2026
Need help?
Email us and a human replies, usually within one business day.