API ReferenceChannel accounts

Cette page n'est disponible qu'en anglais.

Update channel account settings

PATCH /rest/v1/channel_accounts/{id}

PATCH
/channel_accounts/{id}

Changes the account's settings: exactly the switches of the Nembol dashboard's channel settings, with the same effects. Send only what you change; each group is merged field by field. Which fields an account supports varies by channel: the account's writable array lists them, and anything else fails with setting_not_supported.

Exclusive rules. At most one account per store can lead content (sync.content_from_channel_edits) or receive transferred orders (sync.transfer_orders): turning one on turns it off on every other account.

Undo. Every change emits a channel_account.updated event whose previous_attributes holds the old value of each changed field (null included). PATCHing previous_attributes back, verbatim, restores the previous state.

Setting defaults validates the id live against the channel (see GET /channel_accounts/{id}/policies and .../collections); if the channel cannot be reached the request fails with 502 channel_unavailable and nothing is changed. Requires the channels:write scope.

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

Path Parameters

id*string

Channel account id from GET /channel_accounts (e.g. chac_...). Never construct it.

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.

Any subset of the account's settings. Only the paths listed in the account's writable are accepted. null is accepted where the read model can return it, so an event's previous_attributes can always be sent back as-is: a null switch is left unchanged, a null pricing.value / inventory.threshold is valid only while the mode / control is off, a null default clears it.

Properties1 <= properties

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/channel_accounts/string" \  -H "Content-Type: application/json" \  -d '{    "pricing": {      "mode": "percentage",      "value": 10,      "rounding": true    },    "sync": {      "product_edits": true    }  }'
{  "id": "chac_66a1f09b2",  "object": "channel_account",  "channel": "ebay",  "label": "eBay",  "currency": "USD",  "warnings": [    {      "code": "currency_mismatch",      "message": "string"    }  ],  "shop_name": "carboagez",  "status": "connected",  "sync": {    "product_edits": true,    "quantity_from_orders": true,    "quantity_from_channel_edits": true,    "content_from_channel_edits": true,    "transfer_orders": true  },  "pricing": {    "mode": "off",    "value": 0,    "rounding": true  },  "inventory": {    "control": true,    "threshold": 0  },  "defaults": {    "shipping_policy": "pol_6178493000",    "return_policy": "string",    "payment_policy": "string",    "collection": "col_344508170434"  },  "policy_validation": {    "valid": true,    "invalid_policies": [      "shipping"    ],    "message": "string",    "checked_at": "2019-08-24T14:15:22Z"  },  "writable": [    "sync.product_edits",    "pricing.mode",    "pricing.value",    "inventory.threshold",    "defaults.shipping_policy"  ],  "discovery": {    "categories": true,    "attribute_schema": true,    "policies": true,    "collections": true  }}

Dernière mise à jour le 15 octobre 2026

Besoin d'aide ?

Écrivez-nous et une personne vous répond, généralement sous un jour ouvré.