Update Amazon Settings (Partial)
PATCH/api/amazon/:integrationInstance/settings
Optimized partial update used by the application UI Amazon settings page. Every field is optional, so the client may send only the fields the user actually changed. Internally, root-level fields (name, is_automatic_sync_enabled) are separated from integration_settings fields and merged into the existing settings JSON.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Returns the freshly reloaded Amazon integration instance object with salesChannel.store and integration eager-loaded.
store_id (optional, integer): The store new Amazon orders are created in. Changing it also moves this connection's sales channel to that store; orders already imported keep their store. It must be an existing store id, otherwise the request returns 422 and nothing is saved.
fbmBackup (optional): catalog-wide FBM Backup Mode default { enabled: bool, fbaThreshold: int>=0, scope: "same_country"|"all_marketplaces" }. Malformed values return 422.
Multi-Channel Fulfillment channel settings (optional, comma-separated sales channel integration ids — each applies to every store of that sales channel type):
blocked_amazon_logistics_sales_channels— MCF orders from these sales channels are always sent with BLOCK_AMZL (no Amazon Logistics delivery).blank_box_sales_channels— MCF orders from these sales channels default to BLANK_BOX (unbranded packaging) unless the fulfillment order has its own feature selection.
Store and sales channel: new orders are created in the store of this connection's sales channel. Whenever the request includes store_id, the sales channel is put in that store if it is in a different one — including when the value equals the saved setting, so re-saving the same store realigns a sales channel that had drifted from it. Nothing is written when the sales channel already uses that store, and orders already imported keep their store. When the sales channel moves, the response adds two top-level keys:
message(string): e.g. "Settings saved. New orders will now be created in store 'Curvy AU' — the sales channel was moved from 'Placeholder'."sales_channel_store_updated(object):fromandto, each{id, name};from.idandfrom.nameare null when the sales channel had no store. Both keys are absent when the sales channel did not move.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.