Update Setting
PUT/api/v2/settings/:slug
Updates a single setting by slug. Body shape varies per slug — for simple settings the body is {"value": ...}; for grouped settings (e.g. purchase-order, forecasting, general) the body is a flat object of allowed keys.
settings:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Slug purchase-order accepts:
cc_outgoing_email(string|null, max 500) — comma-separated CC list applied to outgoing PO emails.
Slug general accepts (validated keys):
connectivity_alert_sound_enabled(boolean) — play a repeating audio alert on the device when the app loses connection to the server, and a confirmation tone when restored. Non-boolean values are rejected with 422.stranded_order_minimum_age_days(integer, 0-90) — whole business days (Mon-Fri; weekends do not count) an order must go without producing a fulfillment order before the "Stuck, Never Dispatched" dashboard tile counts it as stranded.0disables the floor; values outside 0-90 are rejected with 422.
Slug packing-slip-rules accepts (every field optional; an empty list turns the rule off):
suppressed_line_descriptions(array of strings, each max 255) — line descriptions to leave off the packing slip entirely, such as shipping protection or insurance lines a warehouse cannot pick. Matched case-insensitively against the full line description.highlighted_shipping_methods(object of keyword => colour name, each value max 32 chars) — when the order's shipping method contains the keyword, the shipping method prints highlighted. The value must be one ofblue,green,purple,orange,red; anything else is rejected with 422. It is a colour name, never CSS.highlighted_address_keywords(array of strings, each max 255) — when the shipping address contains one of these, the name and address block print highlighted.brand_sizing_notes(object of brand name => note, each value max 255) — note printed under that brand's lines. Brand names are matched case-insensitively.
Authentication: Requires Bearer token.
Requires permission: settings.update
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
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
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.