Update Fulfillment by TikTok Settings
PUT/api/tiktok-shop/:integrationInstance/fbt/settings
Turn Fulfillment by TikTok on or off for an integration instance and set its defaults.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Body
enabled(boolean, required) — turn FBT on or off for this shop.default_source_warehouse_id(integer, optional, nullable) — pre-selected ship-from for new inbound plans. Must be an existing warehouse.compliance_warning_days(integer, optional, 0–30) — how many days before a delivery clock breaches to start warning. Defaults to 2.
Turning FBT on first checks the shop's FBT enrolment with TikTok, then provisions the captive FBT warehouse and mirrors the fulfillment centre list. If the check does not come back ok, the setting stays off and the response reports why — the TikTok Shop integration itself is never deactivated or disconnected by an FBT failure. Turning FBT off never calls TikTok, so a shop that has lost enrolment can always switch the feature off.
The response carries the machine-readable authorization outcome alongside the settings and a human-readable message.
Requires the integrations.update permission.
Source warehouse restriction: source_warehouse_id must be a warehouse SKU.io keeps its own movement ledger for — the source is what shipping decrements. Marketplace-held warehouses (Amazon FBA/AWD, Walmart WFS, TikTok FBT, and virtual), legacy rows carrying subtype = amazon_fba, and dropship/supplier warehouses are rejected with a 422. Faire FBF is accepted: Faire exposes no inventory API, so SKU.io's ledger is the system of record for FBF stock.
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 Content
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.