Change a account setting
Sets the value of one account setting — any setting, for users with the front-page privilege.
ACCOUNT-WIDE CONFIGURATION WRITE. 200 with a JSON null body.
Use it to:
- Front-page editor saving the administrator's notice (FrontPageInternalMessage)
Not for:
- Feature flags (on/off) →
PUT /v2/features - Embedding images → upload with
POST /v2/settings/frontpage-imageand reference the URL
Behaviour:
- Duplicates: Not deduplicated: the same value is written again and the events re-raised.
Call first: GET /v2/settings/frontpage-internal-message, POST /v2/settings/frontpage-image
Next: GET /v2/settings/frontpage-internal-message
See also: PUT /v1/setting, PUT /v2/features
curl -X PUT "https://app3.timelog.com/your-account/api/v2/settings/ExternalProjectDefaultOrderStatus" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"Value": "null"
}'
import requests
import json
url = "https://app3.timelog.com/your-account/api/v2/settings/ExternalProjectDefaultOrderStatus"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"Value": "null"
}
response = requests.put(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://app3.timelog.com/your-account/api/v2/settings/ExternalProjectDefaultOrderStatus", {
method: "PUT",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"Value": "null"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"Value": "null"
}`)
req, err := http.NewRequest("PUT", "https://app3.timelog.com/your-account/api/v2/settings/ExternalProjectDefaultOrderStatus", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://app3.timelog.com/your-account/api/v2/settings/ExternalProjectDefaultOrderStatus')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Put.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"Value": "null"
}'
response = http.request(request)
puts response.body
"null"
{
"Code": 200,
"Details": [
"The value 'test' is not valid for SettingIdentifier."
],
"Message": "Invalid model state error.",
"Parameters": "setting: {"Value":null}",
"Url": "https://app{server-number}.timelog.com/{account}/api/v2/settings/test"
}
{
"Message": "Authorization has been denied for this request."
}
{
"Code": 103,
"Message": "…",
"Details": [],
"Parameters": "…",
"Url": "https://app{server-number}.timelog.com/{account}/api/v2/settings/{settingIdentifier}"
}
{
"Message": "Page Not Found",
"Timestamp": "…",
"RawUrl": "https://app{server-number}.timelog.com/{account}/api/v2/settings/{settingIdentifier}"
}
{
"error": "Error",
"message": "- Value contains the text "data:image" (an embedded base64 image). — When: Value contains 'data:image' — any setting, checked before the privilege. — Fix: Upload the image with POST /v2/settings/frontpage-image and reference the returned URL instead.",
"code": 413
}
{
"Code": 100,
"Message": "Unknown error occur in system, please contact system administrator.",
"Details": [],
"Parameters": "…",
"Url": "https://app{server-number}.timelog.com/{account}/api/v2/settings/{settingIdentifier}"
}
/v2/settings/{settingIdentifier}Target server for requests. Edit to use your own host.
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.
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.The setting: SettingIdentifier member name or integer value (e.g. FrontPageInternalMessage). An unknown name → 400 Code 200 (captured); an integer with no member binds and fails later with 500 (captured: 12345).
Allowed values: see SettingIdentifier.
The media type of the request body
The new value, always as a JSON string whatever the setting's type (numbers, dates, booleans, enums are written as text). The server sanitizes it by the setting's data type before storing. For FrontPageInternalMessage it is the HTML of the message, with images as URLs from POST /v2/settings/frontpage-image.
Request Preview
Response
Response will appear here after sending the request
Authentication
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.
Path Parameters
The setting: SettingIdentifier member name or integer value (e.g. FrontPageInternalMessage). An unknown name → 400 Code 200 (captured); an integer with no member binds and fails later with 500 (captured: 12345).
Allowed values: see SettingIdentifier.
ExternalProjectDefaultOrderStatusExternalProjectDefaultProjectTypeProjectInvoiceHeaderDefaultTextProjectInvoiceMessageDefaultTextTravelExpensesProfitRuleTravelExpensesProfitPercentageEnhancedTimesheetApprovalsProjectManagerApprovalDepartmentApprovalPartialRejectionOfTimesheetsOpenRejectedProjectTwoStepApprovalOfExpensesTimetrackingWarningBaseCurrencyAbbDecimalsForReportsHoursDecimalsForReportsCurrencyResourceManDayPersonalSecurityRoleForResourceBookingPlannerSecurityRoleForResourceBookingExportTypesNotificationEngineNextTriggerDateTimeDailySalaryAccountEmployeePostingAggregationNextTriggerTimeYearlyAutomaticAccountingPeriodGenerationNextTriggerTimeNotificationEngineNextHardBookingToTimeRegistrationTriggerDateTimeNotificationEngineNextUpdateUserDateTimeNotificationEngineGenerateDailyPostingsFromTimeRegistrationsDateFiscalDayFlexTruncationDateAccountingPeriodAutomaticCreationNotificationEngineNextAutoExpensesTriggerDateTimeInternalProjectDefaultAssignMilestoneExternalProjectDefaultAssignMilestoneSetMilestoneNameFromTypeUpgradeNotificationDateCustomerDefaultCountryGoogleMapStartAddressStylesheetVariationTimeAndMaterialInvoicingModelTimeAndMaterialDefaultSelectedInvoicingModelInvoiceDefaultValue_InvoiceDateTypeInvoiceDefaultValue_CreditNoteDateTypeInvoiceDefaultValue_InternalReferenceInvoiceDefaultValue_InternalReferenceFormatExchangeRateAPINumberOfTriesExchangeRateAPITimeoutMSDebtorListInvoiceShowWorkNotReadyForInvoicingDefaultValueNotificationEngineNextUpdateInvoicingStatusTriggerDateTimeNotificationEngineNextGenerateFutureDatePaymentsTriggerDateTimeNotificationEngineRecalculateTimeSheetStatusAggregationNeededRSSFeedUrl_DKRSSFeedUrl_ENRSSFeedUrl_SERSSFeedUrl_DERSSFeedUrl_NLDemoExpirationDateInvoiceSetting_NumberOfDecimalsTcamApiUrlInvoiceSetting_RoundTotalsTLPePayMerchantNrProductionStatusOTTVersionExtranetLogoURLNextUpdateInvoiceStatusTriggerDateTimeNextRecalculateProjectForecastDateTimeUpdateInvoiceStatusIntervalGDPR_DataProtectionContactGDPR_DeleteEmployeeDataDaysGDPR_AnonymizeEmployeeDataMonthsGDPR_DeleteContactDataMonthsGDPR_DeleteCustomerDataMonthsGDPR_DeleteCustomerStatusGDPR_DataProtectionContact_ValidatedByAdditionalTextFieldValidationAdditionalTextFieldTypeTimeFormatAdditionalTextFieldLabelTimeRegistrationPotentialTypeColumnRequestTimesheetStatusEmailHeaderMigrationDateTo6_1PlatformProductTypePlatformPlanLicenseModelPlatformPlanTypePlatformUserLicenseModelNotSpecifiedPlatformDisableUnlicensesUsersAtNotificationEngineNextUserLicenseValidatorTriggerDateTimePlatformPurchasedLimitedUserLicensesPlatformActiveBasicPlusFeaturePlatformPurchasedStandardUserLicensesPlatformPurchasedExternalStandardUserLicensesPlatformPurchasedStandardUserLicensesProjectPlatformPurchasedExternalStandardUserLicensesProjectPlatformPurchasedTimeExpenseTrackingUserLicensesPlatformPurchasedTimeExpenseTrackingUserLicensesProjectPlatformPurchasedCRMUserLicensesPlatformPurchasedJiraUserLicensesPlatformPurchasedOutlookUserLicensesPlatformPurchasedOutlookAddInUserLicensesPlatformPurchasedLegalEntityLicensesPlatformPurchasedNavIntegrationLicensesPlatformPurchasedVismaIntegrationLicensesPlatformPurchasedBusinessCentralIntegrationLicensesPlatformPurchasedResourcePlannerLicensesExternalProjectDefaultProjectCategoryExternalProjectDefaultTimeTrackingExternalProjectDefaultTimeRegistrationExternalProjectDefaultProjectStageInternalProjectDefaultProjectStageExternalProjectDefaultHourlyRateExternalProjectsDefaultContractModelExternalProjectDefaultTaskStatusInternalProjectDefaultOrderStatusInternalProjectDefaultProjectTypeInternalProjectDefaultProjectCategoryInternalProjectDefaultTimeTrackingInternalProjectDefaultTimeRegistrationInternalProjectDefaultHourlyRateInternalProjectsDefaultContractModelInternalProjectDefaultTaskStatusExternalProjectDefaultTaskPlanCustomTaskNameExternalProjectDefaultTaskPlanProjectTemplateInternalProjectDefaultTaskPlanCustomTaskNameInternalProjectDefaultTaskPlanProjectTemplateDefaultTaskPlanOnNewExternalProjectDefaultTaskPlanOnNewInternalProjectInvoiceSetting_DateRangeAccountingYearMonthInvoiceSetting_RoundUnitsInvoiceSetting_ExportTypeInvoiceSetting_ExportEmailLimitTextOnInvoiceHeaderNoCharactersLimitTextOnInvoiceMessageNoCharactersLimitTextOnInvoicelineDescriptionNoCharactersVATMinimumLengthOfPasswordMilestonesDaysInInfoboxCalenderDaysInInfoboxNotificationEngineNextFixCorruptedPendingBookingProjectContractsTriggerDateTimeNotificationSmtpServerNotificationSmtpPortNotificationSmtpUsernameNotificationSmtpPasswordNotificationSenderAddressNotificationSenderNameNotificationGeneralReplyAddressNotificationReplyAddressTypeNumberOfCRMEventsInInfoboxNumberOfCalenderEventsInInfoboxReportCustomStartYearGoalPeriodDefaultGoalTypeGoalTitleGoalMinimumValueGoalMaximumValuePrimaryGoalSecondaryGoalProjectFactorCalculationModelProjectFactorColorCodeGreenProjectFactorColorCodeYellowETCSettingNumberOfDayWarnETCDefaultAllowanceLegislationExternalProjectDefaultTaskBillableInternalProjectDefaultTaskBillableExternalProjectConsumesCapacityInternalProjectConsumesCapacityApiUserIDApiPasswordCalculationModel_EstimationValueModelCalculationModel_CompletionRateModelCalculationModel_HourlyRateModelCalculationModel_EstimationPeriodModelContinuousContractRevenueDistributionModelDefaultLanguageIDForNewUsersEstimateEmployeeUtilizationPlatformPurchasedCRMUserLicensesFreeTrialsPlatformPurchasedOutlookUserLicensesFreeTrialsPlatformPurchasedLegalEntityLicensesFreeTrialsDefaultHardBookingFormatNumberOfTasksReturnedInTrackerSearchRoundingOfBillableTimeFormatRoundingFactorOptionOfTimeRegistrationsSalaryPeriodsConfigurationNameSalaryPeriodsConfigurationDateMaxReceivedMessageSizeTrackerRequiredSpaceBeforeIncreaseStorageTrackerIncreaseStorageQuotaDefaultContributionMarginTargetProjectProfitabilityMetricTypeProjectProfitabilityShowBaselineAndProjectedMultiCustomerProjectCustomerIDWebApiIdentityServerHostNameWebApiIdentityServerClientIdWebApiIdentityServerClientSecretWebApiIdentityServerRequestScopesWebApiAuthenticationRequiredScopesLoginPortalSecurityTypeDefaultTimeSheetViewForNewUsersAgentDetailLoggingNotificationEngineNextInvalidateInvoiceStatusByDueDateTriggerDateTimePlatformActivateVismaIntegrationModuleNotificationPlatformActivateNavIntegrationModuleNotificationPlatformActivateBusinessCentralIntegrationModuleNotificationPlatformActivateMleModuleNotificationServerTimeZoneTrialCRMExpirationDateTrialOutlookExpirationDateTrialOutlookAddInExpirationDateTrialMLEExpirationDateTrialNewResourcePlannerExpirationDateCustomDropDownMaxElementsNotificationEngineNextAnonymizeResignedEmployeesTriggerDateTimeNotificationEngineNextDeleteEmployeesContactDataTriggerDateTimeShowSupplierInvoiceNoOnPersonalExpenseGenerateRecurrencePaymentsNoOfMonthsAheadElectronDesktopTrackerDownloadPathOCIRequestUseInvoiceablesCachingShouldRefreshFullProjectPlanThresholdLimitBelowLoadedRatioShouldRefreshFullProjectPlanThresholdLimitAboveRowsToLazyLoadSiteCreatedAtUsePreRoundingQuantityForInvoiceLineAndDetailAmountCalculationMonthlyPeriodDropdownRangePaymentsAndFinancialPostingsOnFixedPriceStandardContractsGenerateRecurringMilestoneInstancesNoOfMonthsAheadGenerateRecurringProjectProductInstanceNoOfMonthsAheadGenerateHardBookingsNoOfMonthsAheadGlobalTimeLogSupportAccessDefaultPayPeriodKPIMainPageViewShowEmployeeKPIEmployeeRolesShowCompanyKPIEmployeeRolesPlatformProductVersionHideNewInvoiceAndVoucherLineButtonCapacityBudgetingTypeSynchronizeAllocationBudgetWithResourcePlanTotalUseDynamicDistributionOfWorkloadCapacityBudgetingBasisTypeGoogleMapsWebRequestApiKeyGoogleMapsLocationBiasRadiusEUReportPrintLogoFileNameEUReportLogoWidthEUReportShowDanishBusinessPromotionBoardLogoDanishBusinessPromotionBoardLogoFileNameIndexationDetailedReportMaximumTableResultRowsShowOwnerOnProjectContractsShowCustomReportAbsenceExtractionPharmakonResourcePlannerUILazyLoadRowCountSalaryIntegrationOfRegisteredTimeTransferTypeIntercompanyExchangeRateSelectedPollTypeIntercompanyExchangeRateSelectedPeriodLengthInMonthIntercompanyExchangeRateSelectedPeriodTypeJiraServerUrlJiraServerConsumerKeyJiraServerAccessTokenJiraServerOAuthTokenSecretDefaultToDesignSevenForNewUserIntercompanyExchangeRateScheduledMessageSequenceNumberSharePointIntegrationAzureApplicationCertificatePasswordSharePointIntegrationAzureApplicationCertificateNameSharePointIntegrationAzureApplicationClientIdSharePointIntegrationCallbackURLSharePointIntegrationAdminConsentURLSalaryAccountEmployeePostingDateNoOfMonthsAheadSalaryAccountEmployeePostingDateNoOfMonthsBackdateCurrencyMatrixExpenseHandlingMigrationDateShowInternalReferencePhoneNumberFrontPageInternalMessageTimeRegistrationTimestampTypeUseInvoiceLineCostCenterExtendedAlgorithmFrontPageMilestonePeriodFrontPageCompanyTargetPhoenixApiUrlMassTransitPrefixFortnoxIntegrationRateLimitDefaultPersonalWidgetSettingsForNewUsersInvoicingFeeLineStandardDescriptionInvoicingFeeDefaultTypeInvoicingFeeDefaultFeePercentageInvoicingFeeDefaultFeeAmountFiscalYearStartDateInvoicingFeeDefaultVATConfigurationTypeGenerateEmployeeProjectionNoOfMonthsAheadInsightsServiceUrlBody
The new value, always as a JSON string whatever the setting's type (numbers, dates, booleans, enums are written as text). The server sanitizes it by the setting's data type before storing. For FrontPageInternalMessage it is the HTML of the message, with images as URLs from POST /v2/settings/frontpage-image.
Responses
Success without content: HTTP 200 with the literal JSON body null. Literal JSON null (TafSuccessResult).