Update workspace basic settings
Updates workspace basic settings. All fields are optional - only provided fields will be updated.
What can be updated:
- Brand color: Hex color code for workspace branding
- Default language: Default language for the workspace (e.g., “en”, “de”)
- Country of operation: ISO country code (e.g., “US”, “DE”)
- Timezone: IANA timezone identifier (e.g., “America/New_York”, “Europe/Berlin”)
- Attendance tracking: Enable or disable attendance tracking for employees
- Time tracking thresholds: Percentage thresholds for marking time tracking as “good” or “bad”
- Default working hours: Default start and end times for employees
- Time tracker reminders: Interval in minutes for reminding users to track time (5-120 minutes)
- Sprint configuration: Sprint duration in days, start day (1=Monday), and end day
- Journal notifications: List of user IDs who should receive notifications for journal entries
Validation rules:
timeColorBadPercentmust be less thantimeColorGoodPercentdefaultTimeTomust be afterdefaultTimeFromtimeTrackerAnnoyanceInMinmust be between 5 and 120sprintStartDayandsprintEndDaymust be between 1 (Monday) and 7 (Sunday)
Note: This endpoint requires the WsSettings.manageSettings permission. Changes affect the entire workspace and all users.
PATCH
/administration/basic-settingsAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredRequest body
requiredapplication/jsonattendanceEnabledbooleanWhether attendance tracking (clock in/out) is enabled for employees. When enabled, employees must actively clock in and out. When disabled, working hours are calculated automatically based on contract times.
brandColorstringBrand color in hex format (e.g., #FF5733). Used for workspace branding and internal project colors throughout the application.
countryOfOperationstringISO 3166-1 alpha-2 country code (2 uppercase letters) for the country where the company operates. Example: "US" for United States, "DE" for Germany.
defaultLanguagestringDefault language code for the workspace. Supported values: "en" (English) or "de" (German). This applies to new users; each user can override this in their profile.
defaultTimeFromstring<date-time>Default work start time for employees. Used as a preset when employees clock in. ISO 8601 datetime format. Must be before defaultTimeTo if both are provided.
defaultTimeTostring<date-time>Default work end time for employees. Used as a preset when employees clock out. ISO 8601 datetime format. Must be after defaultTimeFrom if both are provided.
journalNotificationUserIdsstring[]Array of user IDs (UUIDs) who should receive notifications when journal entries are created or updated. Journal entries document events, notes, or observations for employees, projects, or organizations.
sprintEndDaynumberSprint end day of the week (1-7, where 1=Monday, 2=Tuesday, ..., 7=Sunday). Defines when each sprint period ends. If not provided, calculated from sprintPeriodDays.
sprintPeriodDaysnumberSprint duration in days. Defines how long each sprint period lasts. Commonly used values: 7 (one week), 14 (two weeks), or 30 (one month).
sprintStartDaynumberSprint start day of the week (1-7, where 1=Monday, 2=Tuesday, ..., 7=Sunday). Defines when each sprint period begins.
timeColorBadPercentnumberLower threshold percentage (1-100) for marking time tracking as "bad" or incomplete. Times below this percentage are marked red on the team calendar. Must be less than timeColorGoodPercent.
timeColorGoodPercentnumberUpper threshold percentage (1-100) for marking time tracking as "good" or complete. Times above this percentage are marked green on the team calendar. Must be greater than timeColorBadPercent.
timeTrackerAnnoyanceInMinnumberTime tracker reminder interval in minutes (5-120). After this many minutes of inactivity, the system reminds users to resume time tracking. Example: 15 means reminders every 15 minutes.
timezonestringIANA timezone identifier for the workspace. Defines the timezone used for all time-related information. Example: "America/New_York", "Europe/Berlin", "Asia/Tokyo".
Responses
200
successbooleanrequiredOperation success flag
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X PATCH "https://leadtime.app/api/public/administration/basic-settings" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"attendanceEnabled": true,
"brandColor": "#FF5733",
"countryOfOperation": "US",
"defaultLanguage": "en",
"defaultTimeFrom": "2024-01-01T00:00:00Z",
"defaultTimeTo": "2024-01-01T00:00:00Z",
"journalNotificationUserIds": [
"string"
],
"sprintEndDay": 5,
"sprintPeriodDays": 14,
"sprintStartDay": 1,
"timeColorBadPercent": 30,
"timeColorGoodPercent": 70,
"timeTrackerAnnoyanceInMin": 15,
"timezone": "America/New_York"
}'const response = await fetch("https://leadtime.app/api/public/administration/basic-settings", {
method: "PATCH",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"attendanceEnabled": true,
"brandColor": "#FF5733",
"countryOfOperation": "US",
"defaultLanguage": "en",
"defaultTimeFrom": "2024-01-01T00:00:00Z",
"defaultTimeTo": "2024-01-01T00:00:00Z",
"journalNotificationUserIds": [
"string"
],
"sprintEndDay": 5,
"sprintPeriodDays": 14,
"sprintStartDay": 1,
"timeColorBadPercent": 30,
"timeColorGoodPercent": 70,
"timeTrackerAnnoyanceInMin": 15,
"timezone": "America/New_York"
})
});import requests
response = requests.patch(
"https://leadtime.app/api/public/administration/basic-settings",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"attendanceEnabled": True,
"brandColor": "#FF5733",
"countryOfOperation": "US",
"defaultLanguage": "en",
"defaultTimeFrom": "2024-01-01T00:00:00Z",
"defaultTimeTo": "2024-01-01T00:00:00Z",
"journalNotificationUserIds": [
"string"
],
"sprintEndDay": 5,
"sprintPeriodDays": 14,
"sprintStartDay": 1,
"timeColorBadPercent": 30,
"timeColorGoodPercent": 70,
"timeTrackerAnnoyanceInMin": 15,
"timezone": "America/New_York"
},
)Response
{
"success": true
}Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions