Skip to main content

Calendar

GET List calendar integrations

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar

List calendar integrations, i.e. the email accounts connected.

curl  https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID

Response

200

List of integrations, aka connected emails

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
auto_trackboolean-
calendar_integration_idinteger-
calendarsArray of object-
created_atstring-
emailstring-
error_statusstring-
has_write_scopeboolean-
origin_product_idintegerThe product that initially integrated the calendar.
providerstring-
scopesArray of string-
calendars
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

GET Setup calendar integration

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/setup

Connect a new calendar integration.

curl  https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/setup \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID

Query

nametyperequireddescription
providerstringtrueCalendar service provider which the calendars will be retrieved
return_tostringfalsePage to which the user will be redirected after authenticating

Response

302

Redirect to oAuth URL

400

Invalid request

402

status payment required: integration already exists

500

Internal Server Error

GET List calendars for a particular integration

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id}

List calendars for a particular integration, i.e. the calendars available from the connected account.

curl  https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID

Response

200

List of calendars

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

DELETE Delete a calendar integration

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id}

Delete a calendar integration.

curl -X DELETE https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID

Response

200

List of calendars

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

PUT Update calendar integration

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id}/calendars/{calendar_id}

Update calendar integration.

curl -X PUT https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id}/calendars/{calendar_id} \
-H "Content-Type: application/json" \
-d '\{"background_color":"string","calendar_id":"integer","calendar_integration_id":"integer","created_at":"string","default_planned_task_id":"integer","default_project_id":"integer","default_workspace_id":"integer","deleted_at":"string","external_id":"string","foreground_color":"string","name":"string","remind_tracking":"boolean","selected":"boolean","updated_at":"string"\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID
calendar_idintegertruecalendar ID

Body

NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

Response

200

List of calendars

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

GET Request write scope.

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id}/reauth

Increment the user's oauth scope for write capabilities

curl  https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id}/reauth \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID

Query

nametyperequireddescription
return_tostringtruePage to which the user will be redirected after authenticating

Response

302

Redirect to oAuth URL

400

Invalid request

404

Integration not found

500

Internal Server Error

POST Update integration

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id}/update

Update integration.

curl -X POST https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/integrations/calendar/{integration_id}/update \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID

Response

200

List of calendars

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

GET List calendar integrations

https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar

List calendar integrations, i.e. the email accounts connected.

curl  https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID

Response

200

List of integrations, aka connected emails

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
auto_trackboolean-
calendar_integration_idinteger-
calendarsArray of object-
created_atstring-
emailstring-
error_statusstring-
has_write_scopeboolean-
origin_product_idintegerThe product that initially integrated the calendar.
providerstring-
scopesArray of string-
calendars
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

GET Setup calendar integration

https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/setup

Connect a new calendar integration.

curl  https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/setup \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID

Query

nametyperequireddescription
providerstringtrueCalendar service provider which the calendars will be retrieved
return_tostringfalsePage to which the user will be redirected after authenticating

Response

302

Redirect to oAuth URL

400

Invalid request

402

status payment required: integration already exists

500

Internal Server Error

GET List calendars for a particular integration

https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id}

List calendars for a particular integration, i.e. the calendars available from the connected account.

curl  https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID

Response

200

List of calendars

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

DELETE Delete a calendar integration

https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id}

Delete a calendar integration.

curl -X DELETE https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID

Response

200

List of calendars

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

PUT Update calendar integration

https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id}/calendars/{calendar_id}

Update calendar integration.

curl -X PUT https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id}/calendars/{calendar_id} \
-H "Content-Type: application/json" \
-d '\{"background_color":"string","calendar_id":"integer","calendar_integration_id":"integer","created_at":"string","default_planned_task_id":"integer","default_project_id":"integer","default_workspace_id":"integer","deleted_at":"string","external_id":"string","foreground_color":"string","name":"string","remind_tracking":"boolean","selected":"boolean","updated_at":"string"\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID
calendar_idintegertruecalendar ID

Body

NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

Response

200

List of calendars

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

GET Request write scope.

https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id}/reauth

Increment the user's oauth scope for write capabilities

curl  https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id}/reauth \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID

Query

nametyperequireddescription
return_tostringtruePage to which the user will be redirected after authenticating

Response

302

Redirect to oAuth URL

400

Invalid request

404

Integration not found

500

Internal Server Error

POST Update integration

https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id}/update

Update integration.

curl -X POST https://focus.toggl.com/api/workspaces/{workspace_id}/integrations/calendar/{integration_id}/update \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
integration_idintegertrueintegration ID

Response

200

List of calendars

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
background_colorstring-
calendar_idinteger-
calendar_integration_idinteger-
created_atstring-
default_planned_task_idinteger-
default_project_idinteger-
default_workspace_idinteger-
deleted_atstring-
external_idstring-
foreground_colorstring-
namestring-
remind_trackingbooleanThe following fields are deprecated but we need to keep them for backward compatibility with previous versions of mobile apps
selectedboolean-
updated_atstring-

400

Invalid request

500

Internal Server Error

© 2026 Toggl. All rights reserved.