SettingsChange a account setting

Change a account setting

Changes one typed account-wide setting (internal client only).

ACCOUNT-WIDE CONFIGURATION WRITE. A setting is a typed configuration value (number, date, enum, text) that applies to the whole account, as opposed to an on/off feature (PUT /v1/feature). Only callable with a JWT issued to the OAuth client 'uitestmobile'. Every call writes — there is no "unchanged" short-cut — after validation.

Use it to:

  • Internal UI / test automation (client 'uitestmobile') configuring a test account

Not for:

  • Integrations: the operation rejects every other OAuth client (400).
  • On/off feature flags → PUT /v1/feature

Rules across fields:

  • R1: With an e-conomic integration active: InvoiceSetting_NumberOfDecimals must be 2 and InvoiceSetting_RoundTotals must be no rounding; InvoiceSetting_ExportType = export-and-e-mail needs InvoiceSetting_ExportEmail set.

Behaviour:

  • Safe to retry only under a condition.
  • Duplicates: Not short-circuited: re-sending the same value rewrites it and raises the events again.
  • Side effect: Setting-specific post actions, e.g. CustomerDefaultCountry, TimeRegistrationPotentialTypeColumn, DefaultTimeSheetViewForNewUsers; FlexTruncationDate 1 (Today) / 2 (Yesterday) raises the events that create / delete today's flex postings for employees.

See also: PUT /v1/feature

curl -X PUT "https://app3.timelog.com/your-account/api/v1/setting" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "ID": 123,
  "Value": "null"
}'
"null"
PUT
/v1/setting
PUT
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp). The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.

OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp). The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
Content-Typestring
Required

The media type of the request body

Options: application/json
IDinteger
Required

The setting to change, as a SettingIdentifier member (integer in REST v1, e.g. 27 = FlexTruncationDate, 277 = IntercompanyExchangeRateSelectedPollType). The enum has a few hundred members; there is no REST v1 operation that lists them with their current values. - omitted — Binds to 0 = ExternalProjectDefaultOrderStatus — no model validation catches it.

Format: int32
Valuestringnull
Required

The new value as a string, in the setting's own format (number, date, enum integer, text). The manager parses and sanitises it per setting type before saving.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).

The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.

Body

application/json
IDinteger
Required

The setting to change, as a SettingIdentifier member (integer in REST v1, e.g. 27 = FlexTruncationDate, 277 = IntercompanyExchangeRateSelectedPollType). The enum has a few hundred members; there is no REST v1 operation that lists them with their current values.

  • omitted — Binds to 0 = ExternalProjectDefaultOrderStatus — no model validation catches it.
Valuestring,null
Required

The new value as a string, in the setting's own format (number, date, enum integer, text). The manager parses and sanitises it per setting type before saving.

Responses

Success without content: HTTP 200 with the literal JSON body null. Literal JSON null.