Skip to main content

Statuses

GET List statuses

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

Returns a list of statuses based on the workspace ID.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID

Query

nametyperequireddescription
namestringfalsefilter by status name
typestringfalsefilter by status type
pageintegerfalsepage number
per_pageintegerfalseresults per page
order_by[]stringfalseorder by

Response

200

NameTypeDescription
dataArray of object-
pageinteger-
per_pageinteger-
data
NameTypeDescription
created_atstring-
deleted_atstring-
emojistring-
idinteger-
namestring-
positioninteger-
typestring-
updated_atstring-
workspace_idinteger-

400

Invalid request

500

Internal Server Error

POST Create a new status

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

Creates a new status with the provided details.

curl -X POST https://focus.toggl.com/api/workspaces/{workspace_id}/statuses \
-H "Content-Type: application/json" \
-d '\{"emoji":"string","name":"string","position":"integer"\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID

Body

NameTypeDescription
emojistring-
namestring-
positioninteger-

Response

201

Status created successfully

400

Invalid request

500

Internal Server Error

GET Get status by ID

https://focus.toggl.com/api/workspaces/{workspace_id}/statuses/{status_id}

Returns a status with the provided ID.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
status_idintegertruestatus ID

Response

200

NameTypeDescription
created_atstring-
deleted_atstring-
emojistring-
idinteger-
namestring-
positioninteger-
typestring-
updated_atstring-
workspace_idinteger-

400

Invalid request

500

Internal Server Error

PUT Update status

https://focus.toggl.com/api/workspaces/{workspace_id}/statuses/{status_id}

Update an existing statuses

curl -X PUT https://focus.toggl.com/api/workspaces/{workspace_id}/statuses/{status_id} \
-H "Content-Type: application/json" \
-d '\{"emoji":"string","name":"string","position":"integer"\}'

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
status_idintegertrueStatus ID

Body

NameTypeDescription
emojistring-
namestring-
positioninteger-

Response

200

Successfully updated status

NameTypeDescription
created_atstring-
deleted_atstring-
emojistring-
idinteger-
namestring-
positioninteger-
typestring-
updated_atstring-
workspace_idinteger-

400

Invalid request

403

Cannot update default status

500

Internal Server Error

DELETE Delete a status by ID

https://focus.toggl.com/api/workspaces/{workspace_id}/statuses/{status_id}

Deletes a status with the provided ID.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
status_idintegertruestatuses ID

Response

204

Successfully deleted status

400

Invalid request

403

Cannot delete default status

500

Internal Server Error

PATCH Restore a statuses by ID

https://focus.toggl.com/api/workspaces/{workspace_id}/statuses/{status_id}/restore

Restores a statuses by the provided ID.

curl -X PATCH https://focus.toggl.com/api/workspaces/{workspace_id}/statuses/{status_id}/restore \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID
status_idintegertruestatuses ID

Response

204

Successfully restored status

400

Invalid request

500

Internal Server Error

© 2026 Toggl. All rights reserved.