Skip to main content

Time

GET Get time offs of organization users

https://focus.toggl.com/api/organizations/{organization_id}/timeoff

Returns time offs of organization users

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

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID

Query

nametyperequireddescription
user_id[]integertrueUser IDs
start_datestringtrueFrom date (YYYY-MM-DD)
end_datestringtrueTo date (YYYY-MM-DD)

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
end_timestring-
ghost_idinteger-
start_timestring-
timeoff_idinteger-
user_idinteger-

400

Invalid parameters

403

Forbidden

500

Internal Server Error

GET Get time off for organization user

https://focus.toggl.com/api/organizations/{organization_id}/timeoff/users/{user_id}

Returns time off for organization user

curl  https://focus.toggl.com/api/organizations/{organization_id}/timeoff/users/{user_id} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
user_idintegertrueUser ID

Query

nametyperequireddescription
fromstringtrueFrom date (YYYY-MM-DD)
tostringtrueTo date (YYYY-MM-DD)

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
created_atstring-
end_timestring-
organization_idinteger-
start_timestring-
timeoff_idinteger-
typestring-
updated_atstring-
user_idinteger-

400

Invalid parameters

403

Forbidden

500

Internal Server Error

PUT Update time off for the specified user

https://focus.toggl.com/api/organizations/{organization_id}/timeoff/users/{user_id}

Updates time off for the specified user

curl -X PUT https://focus.toggl.com/api/organizations/{organization_id}/timeoff/users/{user_id} \
-H "Content-Type: application/json" \
-d '[\{"end_time":"string","start_time":"string","timeoff_id":"integer","type":"string"\}]' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
user_idintegertrueUser ID

Body

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
end_timestring-
start_timestring-
timeoff_idinteger-
typestring-

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
created_atstring-
end_timestring-
organization_idinteger-
start_timestring-
timeoff_idinteger-
typestring-
updated_atstring-
user_idinteger-

400

Invalid parameters

403

Forbidden

500

Internal Server Error

POST Create time off for the specified user

https://focus.toggl.com/api/organizations/{organization_id}/timeoff/users/{user_id}

Creates time off for the specified user

curl -X POST https://focus.toggl.com/api/organizations/{organization_id}/timeoff/users/{user_id} \
-H "Content-Type: application/json" \
-d '[\{"end_time":"string","start_time":"string","type":"string"\}]' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
user_idintegertrueUser ID

Body

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
end_timestring-
start_timestring-
typestring-

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
created_atstring-
end_timestring-
organization_idinteger-
start_timestring-
timeoff_idinteger-
typestring-
updated_atstring-
user_idinteger-

400

Invalid parameters

403

Forbidden

500

Internal Server Error

DELETE Delete time off for the specified user

https://focus.toggl.com/api/organizations/{organization_id}/timeoff/users/{user_id}

Deletes time off for the specified user

curl -X DELETE https://focus.toggl.com/api/organizations/{organization_id}/timeoff/users/{user_id} \
-H "Content-Type: application/json" \
-d '[\{\}]' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
user_idintegertrueUser ID

Body

NameTypeDescription
itemsArray of integer-

Response

204

No Content

400

Invalid parameters

403

Forbidden

500

Internal Server Error

GET Get time offs of organization ghosts

https://focus.toggl.com/api/organizations/{organization_id}/{workspace_id}/timeoff

Returns time offs of organization ghosts

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

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
workspace_idintegertrueWorkspace ID

Query

nametyperequireddescription
ghost_ids[]integertrueGhost IDs
start_datestringtrueFrom date (YYYY-MM-DD)
end_datestringtrueTo date (YYYY-MM-DD)

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
created_atstring-
end_timestring-
organization_idinteger-
start_timestring-
timeoff_idinteger-
typestring-
updated_atstring-
user_idinteger-

400

Invalid parameters

403

Forbidden

500

Internal Server Error

GET Get time off for a ghost

https://focus.toggl.com/api/organizations/{organization_id}/{workspace_id}/timeoff/ghosts/{ghost_id}

Returns time off for a ghost

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

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
workspace_idintegertrueWorkspace ID
ghost_idintegertrueUser ID

Query

nametyperequireddescription
fromstringtrueFrom date (YYYY-MM-DD)
tostringtrueTo date (YYYY-MM-DD)

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
created_atstring-
end_timestring-
organization_idinteger-
start_timestring-
timeoff_idinteger-
typestring-
updated_atstring-
user_idinteger-

400

Invalid parameters

403

Forbidden

500

Internal Server Error

PUT Update time off for the specified ghost

https://focus.toggl.com/api/organizations/{organization_id}/{workspace_id}/timeoff/ghosts/{ghost_id}

Updates time off for the specified ghost

curl -X PUT https://focus.toggl.com/api/organizations/{organization_id}/{workspace_id}/timeoff/ghosts/{ghost_id} \
-H "Content-Type: application/json" \
-d '[\{"end_time":"string","start_time":"string","timeoff_id":"integer","type":"string"\}]' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
workspace_idintegertrueWorkspace ID
ghost_idintegertrueGhost ID

Body

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
end_timestring-
start_timestring-
timeoff_idinteger-
typestring-

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
created_atstring-
end_timestring-
organization_idinteger-
start_timestring-
timeoff_idinteger-
typestring-
updated_atstring-
user_idinteger-

400

Invalid parameters

403

Forbidden

500

Internal Server Error

POST Create time off for the specified ghost

https://focus.toggl.com/api/organizations/{organization_id}/{workspace_id}/timeoff/ghosts/{ghost_id}

Creates time off for the specified ghost

curl -X POST https://focus.toggl.com/api/organizations/{organization_id}/{workspace_id}/timeoff/ghosts/{ghost_id} \
-H "Content-Type: application/json" \
-d '[\{"end_time":"string","start_time":"string","type":"string"\}]' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
workspace_idintegertrueWorkspace ID
ghost_idintegertrueGhost ID

Body

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
end_timestring-
start_timestring-
typestring-

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
created_atstring-
end_timestring-
organization_idinteger-
start_timestring-
timeoff_idinteger-
typestring-
updated_atstring-
user_idinteger-

400

Invalid parameters

403

Forbidden

500

Internal Server Error

DELETE Delete time off for the specified ghost

https://focus.toggl.com/api/organizations/{organization_id}/{workspace_id}/timeoff/ghosts/{ghost_id}

Deletes time off for the specified ghost

curl -X DELETE https://focus.toggl.com/api/organizations/{organization_id}/{workspace_id}/timeoff/ghosts/{ghost_id} \
-H "Content-Type: application/json" \
-d '[\{\}]' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueOrganization ID
workspace_idintegertrueWorkspace ID
ghost_idintegertrueGhost ID

Body

NameTypeDescription
itemsArray of integer-

Response

204

No Content

400

Invalid parameters

403

Forbidden

500

Internal Server Error

© 2026 Toggl. All rights reserved.