PUT
Update company settings
Company space User accounts only For: Administrator · Permission: settings.update Conditions
  • Agent accounts are refused.
  • Fields that are not sent keep their stored value; the order currency, the monthly order limit and the other settings columns cannot be changed here.
  • manual_discount_approval_threshold is the only field where an explicit null has an effect: it clears the threshold. A null allow_manual_with_campaign is ignored and keeps the stored value.
Part of Company profile, settings and currencies.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

company
string
required

Identifier of the company (27-character KSUID string). It must be the company selected in the session.

settings
string
required

Identifier of the settings record (27-character KSUID string). It must belong to that company; each company has exactly one.

Query Parameters

response
enum<string>
default:none

Response mode. Default none; none answers 204 No Content.

Available options:
none,
resource
fields
string

Comma-separated JSON keys of the root resource (id is always rendered). Available: id, company_id, order_currency_exponent, order_currency_code, timezone, manual_discount_approval_threshold, allow_manual_with_campaign, orders_count, currency_round, default_tax_value, created_at, updated_at.

include
string

Comma-separated include paths, each optionally followed by its fields in parentheses: units(id,sku),units.uomUnit(id,name). Max depth 6, max 40 paths. Available: .

Body

application/json
timezone
string

Time zone identifier, for example Africa/Porto-Novo. Optional; the stored value is kept when omitted.

currency_round
integer

Rounding setting, an integer of 0 or more. Optional; the stored value is kept when omitted.

Required range: x >= 0
default_tax_value
integer

Default tax rate as a whole-number percentage from 0 to 100. Optional; the stored value is kept when omitted.

Required range: 0 <= x <= 100
manual_discount_approval_threshold

Percentage from 0 to 100 (up to 6 decimals, a decimal number in major units of percent) above which the sale goes to approval: either one manual discount goes above this share of the amount it applies to, or all manual discounts together go above this share of the order amount before discounts and tax. Optional; send null to clear it (no approval needed); omit it to keep the stored value.

Required range: 0 <= x <= 100
allow_manual_with_campaign
boolean | null

Whether a manual discount may be combined with discount campaigns (false skips campaigns when a manual discount is present). Optional; null or omitted keeps the stored value.

Response

Resource (only with response=resource).

id

Identifier of the settings record (27-character KSUID string).

company_id

Identifier of the company the record belongs to.

order_currency_exponent
integer

Number of decimal places of the order currency (0 for XOF); an amount in minor units divided by 10 to this power gives the amount in the currency. Set when the company is created.

order_currency_code

3-character code of the currency in which the company's orders are expressed, set when the company is created.

timezone

Time zone identifier of the company (for example Africa/Porto-Novo, the default for new companies). Working-hours checks use it.

manual_discount_approval_threshold

Percentage (0 to 100, up to 6 decimals) above which a sale is routed to approval: one manual discount above this share of its calculation base, or all manual discounts together above this share of the order amount before discounts and tax; null means never. Returned as a decimal string.

allow_manual_with_campaign
boolean

Whether a manual discount may be combined with discount campaigns. When false, campaigns are skipped on a sale that has a manual discount; defaults to true.

orders_count
integer | null

Maximum number of orders the company may process per month; null means no limit and 0 blocks order processing. Not editable through the settings update; new companies start at 0.

currency_round
integer

Rounding setting of the company, a non-negative integer; 0 by default for new companies. Also returned with the session company settings.

default_tax_value
integer

Default tax rate of the company as a whole-number percentage from 0 to 100; 18 by default for new companies.

created_at

Date and time the record was created (ISO 8601, UTC).

updated_at

Date and time the record was last changed (ISO 8601, UTC).