Skip to main content

User-settings

GET Retrieve user settings

https://focus.toggl.com/api/users/me/settings
curl  https://focus.toggl.com/api/users/me/settings \
-H "Content-Type: application/json" \
-u <email>:<password>

Response

200

NameTypeDescription
attachments_display_modestringValid values: list, grid.
autocomplete_task_with_time_blockboolean-
autolog_timebooleanDeprecated: gates auto-log only for the manual task-completion path (updateTaskAndRelated). Per-calendar sync auto-log behavior is now governed by the per-calendar focus_auto_track field, not this setting.
calendar_future_defaults_to_planbooleanCalendarFutureDefaultsToPlan, when enabled, makes the unified-view event popover open future slots in Plan time (past slots stay Log time). When disabled (default) the unified view always opens in Log time. Does not affect the split view.
calendar_project_suggestion_fallbackbooleanCalendarProjectSuggestionFallback enables automatic project suggestion for newly-created calendar tasks.
calendar_range_typestring-
calendar_show_calendar_eventsboolean-
calendar_show_completed_tasksboolean-
calendar_show_tasks_listboolean-
calendar_split_view_columnsstring-
calendar_task_creation_behaviorstringCalendarTaskCreationBehavior controls how calendar events map to tasks during sync. Valid values: always_create, do_nothing, match_existing.
current_workspace_idinteger-
date_formatstringValid values: US, EU, ISO.
default_pagestringValid values: last-opened, calendar, inbox, board, timeline, reports.
duration_formatstringValid values: classic, improved, decimal.
first_interactionbooleanFirstInteraction determines the settings update was the first user interaction done. This is what is used to dispatch the Focus product sign-up event. This is not a setting that can be managed by FE. This is purely an internal BE setting.
first_interaction_datestringFirstInteractionDate records when the user first interacted with Focus. Set automatically by the BE alongside first_interaction.
focus_mode_count_upboolean-
goal_reminder_timestringGoalReminderTime is the local clock time the daily goal reminder is sent, formatted HH:MM (24h).
goal_reminders_enabledbooleanGoalRemindersEnabled opts the user into daily goal-reminder push notifications. Defaults to true.
has_reached_task_thresholdbooleanHasReachedTaskThreshold indicates the user has created 5+ tasks at some point.
import_data_banner_dismissedboolean-
language_codestring-
new_users_trial_dismissedboolean-
onboarding_calendar_step_atstringOnboardingCalendarStepAt is the ISO 8601 timestamp when the user left the calendar step (submitted or skipped)
onboarding_checklist_dismissedboolean-
onboarding_completed_atstringOnboardingCompletedAt is the ISO 8601 timestamp when the user finished the onboarding flow
onboarding_flow_dismissedboolean-
onboarding_multi_day_task_createdboolean-
onboarding_started_atstringOnboardingStartedAt is the ISO 8601 timestamp when the user first saw the onboarding page
onboarding_task_draggedboolean-
onboarding_tasks_step_atstringOnboardingTasksStepAt is the ISO 8601 timestamp when the user left the tasks step (submitted or skipped)
onboarding_variant_selectedstring-
plan_tour_dismissedbooleanPlanTourDismissed indicates whether the user has dismissed the plan onboarding tour
platform_nudgesobjectPlatformNudges maps a platform-discoverability nudge id to the ISO 8601 timestamp it was last dismissed. Keys are opaque to the backend (nudge ids are owned by the web app), so new nudges need no backend change. Absent/empty means nothing has been dismissed.
pomodoro_mode_auto_start_breakboolean-
pomodoro_mode_break_duration_minsinteger-
pomodoro_mode_session_duration_minsinteger-
pomodoro_mode_sound_enabledboolean-
send_daily_briefbooleanSendDailyBrief opts the user into the morning Daily Brief email summarising yesterday's tracked time and today's plan. Defaults to true.
send_timer_notificationsbooleanSendTimerNotifications opts the user into the "timer still running" reminder email sent when a timer has been left running for over 8 hours. Defaults to true.
shortcuts_enabledboolean-
show_goals_panelbooleanShowGoalsPanel controls whether the Goals panel is visible on the Timer page. Defaults to true.
show_google_calendar_eventsboolean-
start_week_onintegerStartWeekOn determines which day the week starts on: 0 for Sunday, 1 for Monday. Valid values: 0, 1.
switch_to_focus_dismissedboolean-
sync_external_calendarstringSyncExternalCalendar can either be 'never', 'always' or 'ask'
themestringValid values: auto, light, dark.
time_block_colorstring-
time_formatstringValid values: 12h, 24h.
time_tracking_modestringValid values: focus, pomodoro.
time_tracking_mode_duration_minsinteger-
time_tracking_mode_enabledboolean-
time_tracking_mode_fullscreenboolean-
timezonestringTimezone is the IANA timezone name (e.g. "America/New_York") used to localise time-sensitive features such as goal current-period detection. Mirrors the timezone stored in Toggl Track.
tooltip_onboarding_dismissedbooleanTooltipOnboardingDismissed indicates whether the user has dismissed the tooltip onboarding tour
tos_ack_decoupled_licensesobjectTosAckDecoupledLicenses maps an organization id to the ISO 8601 timestamp when the user dismissed the seats-billing (decoupled-licenses) Terms-of-Service announcement modal for that organization.
trial_ended_modal_seenobjectTrialEndedModalSeen maps an organization id to the ISO 8601 timestamp when the user was shown the end-of-trial modal for that organization. An absent entry for an org = not yet shown.
welcome_modal_dismissedbooleanWelcomeModalDismissed indicates whether the user has dismissed the welcome modal
whats_new_may_2026_dismissedbooleanWhatsNewMay2026Dismissed indicates whether the user has dismissed the May 2026 "What's new" tour
whats_new_tasks_tour_dismissedbooleanWhatsNewTasksTourDismissed indicates whether the user has dismissed the tasks "What's new" tour
platform_nudges
tos_ack_decoupled_licenses
trial_ended_modal_seen

400

Invalid request

500

Internal Server Error

PATCH Partial update user settings

https://focus.toggl.com/api/users/me/settings

Partial update user settings.

curl -X PATCH https://focus.toggl.com/api/users/me/settings \
-H "Content-Type: application/json" \
-d '\{"attachments_display_mode":"string","autocomplete_task_with_time_block":"boolean","autolog_time":"boolean","calendar_future_defaults_to_plan":"boolean","calendar_project_suggestion_fallback":"boolean","calendar_range_type":"string","calendar_show_calendar_events":"boolean","calendar_show_completed_tasks":"boolean","calendar_show_tasks_list":"boolean","calendar_split_view_columns":"string","calendar_task_creation_behavior":"string","current_workspace_id":"integer","date_format":"string","default_page":"string","duration_format":"string","focus_mode_count_up":"boolean","goal_reminder_time":"string","goal_reminders_enabled":"boolean","has_reached_task_threshold":"boolean","import_data_banner_dismissed":"boolean","language_code":"string","new_users_trial_dismissed":"boolean","onboarding_calendar_step_at":"string","onboarding_checklist_dismissed":"boolean","onboarding_completed_at":"string","onboarding_flow_dismissed":"boolean","onboarding_multi_day_task_created":"boolean","onboarding_started_at":"string","onboarding_task_dragged":"boolean","onboarding_tasks_step_at":"string","onboarding_variant_selected":"string","plan_tour_dismissed":"boolean","platform_nudges":\{\},"pomodoro_mode_auto_start_break":"boolean","pomodoro_mode_break_duration_mins":"integer","pomodoro_mode_session_duration_mins":"integer","pomodoro_mode_sound_enabled":"boolean","send_daily_brief":"boolean","send_timer_notifications":"boolean","shortcuts_enabled":"boolean","show_goals_panel":"boolean","show_google_calendar_events":"boolean","start_week_on":"integer","switch_to_focus_dismissed":"boolean","sync_external_calendar":"string","theme":"string","time_block_color":"string","time_format":"string","time_tracking_mode":"string","time_tracking_mode_duration_mins":"integer","time_tracking_mode_enabled":"boolean","time_tracking_mode_fullscreen":"boolean","tooltip_onboarding_dismissed":"boolean","tos_ack_decoupled_licenses":\{\},"trial_ended_modal_seen":\{\},"welcome_modal_dismissed":"boolean","whats_new_may_2026_dismissed":"boolean","whats_new_tasks_tour_dismissed":"boolean"\}' \
-u <email>:<password>

Parameters

Body

NameTypeDescription
attachments_display_modestringnull
autocomplete_task_with_time_blockboolean-
autolog_timeboolean-
calendar_future_defaults_to_planboolean-
calendar_project_suggestion_fallbackboolean-
calendar_range_typestringnull
calendar_show_calendar_eventsboolean-
calendar_show_completed_tasksboolean-
calendar_show_tasks_listboolean-
calendar_split_view_columnsstringnull
calendar_task_creation_behaviorstringValid values: always_create, do_nothing, match_existing.
current_workspace_idintegernull
date_formatstringValid values: US, EU, ISO.
default_pagestringnull
duration_formatstringValid values: classic, improved, decimal.
focus_mode_count_upboolean-
goal_reminder_timestringnull
goal_reminders_enabledboolean-
has_reached_task_thresholdboolean-
import_data_banner_dismissedboolean-
language_codestringnull
new_users_trial_dismissedboolean-
onboarding_calendar_step_atstringnull
onboarding_checklist_dismissedboolean-
onboarding_completed_atstringnull
onboarding_flow_dismissedboolean-
onboarding_multi_day_task_createdboolean-
onboarding_started_atstringnull
onboarding_task_draggedboolean-
onboarding_tasks_step_atstringnull
onboarding_variant_selectedstringnull
plan_tour_dismissedboolean-
platform_nudgesobject-
pomodoro_mode_auto_start_breakboolean-
pomodoro_mode_break_duration_minsinteger-
pomodoro_mode_session_duration_minsinteger-
pomodoro_mode_sound_enabledboolean-
send_daily_briefboolean-
send_timer_notificationsboolean-
shortcuts_enabledboolean-
show_goals_panelboolean-
show_google_calendar_eventsboolean-
start_week_onintegerValid values: 0, 1.
switch_to_focus_dismissedboolean-
sync_external_calendarstringValid values: never, always, ask.
themestringValid values: light, dark, auto.
time_block_colorstringnull
time_formatstringValid values: 12h, 24h.
time_tracking_modestringnull
time_tracking_mode_duration_minsintegernull
time_tracking_mode_enabledboolean-
time_tracking_mode_fullscreenboolean-
tooltip_onboarding_dismissedboolean-
tos_ack_decoupled_licensesobject-
trial_ended_modal_seenobject-
welcome_modal_dismissedboolean-
whats_new_may_2026_dismissedboolean-
whats_new_tasks_tour_dismissedboolean-
platform_nudges
tos_ack_decoupled_licenses
trial_ended_modal_seen

Response

200

Successfully updated

NameTypeDescription
attachments_display_modestringValid values: list, grid.
autocomplete_task_with_time_blockboolean-
autolog_timebooleanDeprecated: gates auto-log only for the manual task-completion path (updateTaskAndRelated). Per-calendar sync auto-log behavior is now governed by the per-calendar focus_auto_track field, not this setting.
calendar_future_defaults_to_planbooleanCalendarFutureDefaultsToPlan, when enabled, makes the unified-view event popover open future slots in Plan time (past slots stay Log time). When disabled (default) the unified view always opens in Log time. Does not affect the split view.
calendar_project_suggestion_fallbackbooleanCalendarProjectSuggestionFallback enables automatic project suggestion for newly-created calendar tasks.
calendar_range_typestring-
calendar_show_calendar_eventsboolean-
calendar_show_completed_tasksboolean-
calendar_show_tasks_listboolean-
calendar_split_view_columnsstring-
calendar_task_creation_behaviorstringCalendarTaskCreationBehavior controls how calendar events map to tasks during sync. Valid values: always_create, do_nothing, match_existing.
current_workspace_idinteger-
date_formatstringValid values: US, EU, ISO.
default_pagestringValid values: last-opened, calendar, inbox, board, timeline, reports.
duration_formatstringValid values: classic, improved, decimal.
first_interactionbooleanFirstInteraction determines the settings update was the first user interaction done. This is what is used to dispatch the Focus product sign-up event. This is not a setting that can be managed by FE. This is purely an internal BE setting.
first_interaction_datestringFirstInteractionDate records when the user first interacted with Focus. Set automatically by the BE alongside first_interaction.
focus_mode_count_upboolean-
goal_reminder_timestringGoalReminderTime is the local clock time the daily goal reminder is sent, formatted HH:MM (24h).
goal_reminders_enabledbooleanGoalRemindersEnabled opts the user into daily goal-reminder push notifications. Defaults to true.
has_reached_task_thresholdbooleanHasReachedTaskThreshold indicates the user has created 5+ tasks at some point.
import_data_banner_dismissedboolean-
language_codestring-
new_users_trial_dismissedboolean-
onboarding_calendar_step_atstringOnboardingCalendarStepAt is the ISO 8601 timestamp when the user left the calendar step (submitted or skipped)
onboarding_checklist_dismissedboolean-
onboarding_completed_atstringOnboardingCompletedAt is the ISO 8601 timestamp when the user finished the onboarding flow
onboarding_flow_dismissedboolean-
onboarding_multi_day_task_createdboolean-
onboarding_started_atstringOnboardingStartedAt is the ISO 8601 timestamp when the user first saw the onboarding page
onboarding_task_draggedboolean-
onboarding_tasks_step_atstringOnboardingTasksStepAt is the ISO 8601 timestamp when the user left the tasks step (submitted or skipped)
onboarding_variant_selectedstring-
plan_tour_dismissedbooleanPlanTourDismissed indicates whether the user has dismissed the plan onboarding tour
platform_nudgesobjectPlatformNudges maps a platform-discoverability nudge id to the ISO 8601 timestamp it was last dismissed. Keys are opaque to the backend (nudge ids are owned by the web app), so new nudges need no backend change. Absent/empty means nothing has been dismissed.
pomodoro_mode_auto_start_breakboolean-
pomodoro_mode_break_duration_minsinteger-
pomodoro_mode_session_duration_minsinteger-
pomodoro_mode_sound_enabledboolean-
send_daily_briefbooleanSendDailyBrief opts the user into the morning Daily Brief email summarising yesterday's tracked time and today's plan. Defaults to true.
send_timer_notificationsbooleanSendTimerNotifications opts the user into the "timer still running" reminder email sent when a timer has been left running for over 8 hours. Defaults to true.
shortcuts_enabledboolean-
show_goals_panelbooleanShowGoalsPanel controls whether the Goals panel is visible on the Timer page. Defaults to true.
show_google_calendar_eventsboolean-
start_week_onintegerStartWeekOn determines which day the week starts on: 0 for Sunday, 1 for Monday. Valid values: 0, 1.
switch_to_focus_dismissedboolean-
sync_external_calendarstringSyncExternalCalendar can either be 'never', 'always' or 'ask'
themestringValid values: auto, light, dark.
time_block_colorstring-
time_formatstringValid values: 12h, 24h.
time_tracking_modestringValid values: focus, pomodoro.
time_tracking_mode_duration_minsinteger-
time_tracking_mode_enabledboolean-
time_tracking_mode_fullscreenboolean-
timezonestringTimezone is the IANA timezone name (e.g. "America/New_York") used to localise time-sensitive features such as goal current-period detection. Mirrors the timezone stored in Toggl Track.
tooltip_onboarding_dismissedbooleanTooltipOnboardingDismissed indicates whether the user has dismissed the tooltip onboarding tour
tos_ack_decoupled_licensesobjectTosAckDecoupledLicenses maps an organization id to the ISO 8601 timestamp when the user dismissed the seats-billing (decoupled-licenses) Terms-of-Service announcement modal for that organization.
trial_ended_modal_seenobjectTrialEndedModalSeen maps an organization id to the ISO 8601 timestamp when the user was shown the end-of-trial modal for that organization. An absent entry for an org = not yet shown.
welcome_modal_dismissedbooleanWelcomeModalDismissed indicates whether the user has dismissed the welcome modal
whats_new_may_2026_dismissedbooleanWhatsNewMay2026Dismissed indicates whether the user has dismissed the May 2026 "What's new" tour
whats_new_tasks_tour_dismissedbooleanWhatsNewTasksTourDismissed indicates whether the user has dismissed the tasks "What's new" tour
platform_nudges
tos_ack_decoupled_licenses
trial_ended_modal_seen

400

Invalid request

500

Internal Server Error

© 2026 Toggl. All rights reserved.