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

Not yet documented: behaviour → consistency; behaviour → idempotent; examples (success).

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. > Not yet documented: how to obtain a token. > Not yet documented: token lifetime.

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. > Not yet documented: how to obtain a token. > Not yet documented: token lifetime.
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. > Not yet documented: values → lookup op.

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. > Not yet documented: values.

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.

Not yet documented: how to obtain a token.

Not yet documented: token lifetime.

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.

Not yet documented: values → lookup op.

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.

Not yet documented: values.

Responses

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