Skip to main content

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.

Required scope: settings:write

Grant 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. 0 disables 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 of blue, 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

OK