Skip to main content

Project-attachments

GET List project attachments

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments

Returns a list of project-attachments based on the provided workspace ID, project ID and filter params.

curl  https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments \
-H "Content-Type: application/json"

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
project_idintegertrueproject ID

Query

nametyperequireddescription
order_by[]stringfalseorder by

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
created_atstring-
deleted_atstring-
display_orderinteger-
idinteger-
mime_typestring-
namestring-
project_idinteger-
sizeinteger-
updated_atstring-

400

Invalid request

500

Internal Server Error

POST Create a new project attachment

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments

Creates a new project attachment with the provided name and workspace ID.

curl -X POST https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments \
-H "Content-Type: application/json"

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
project_idintegertrueproject ID

Query

nametyperequireddescription
namestringfalseProject attachment name
display_ordernumbertrueProject attachment display order
filefiletrueattachment file

Response

201

Project attachment created successfully

400

Invalid request

500

Internal Server Error

POST Create project attachments in bulk

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments/bulk

Creates up to 10 project attachments in a single request. All-or-nothing: if any file fails, none are created.

curl -X POST https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments/bulk \
-H "Content-Type: application/json"

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
project_idintegertrueproject ID

Query

nametyperequireddescription
files[]filetrueattachment files (max 10)
names[]stringfalsenames for each file, indexed as names[0], names[1], etc.
display_orders[]numbertruedisplay orders for each file, indexed as display_orders[0], display_orders[1], etc.

Response

201

Project attachments created successfully

400

Invalid request

500

Internal Server Error

PUT Update project attachment

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments/{attachment_id}

Update an existing project attachment

curl -X PUT https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments/{attachment_id} \
-H "Content-Type: application/json" \
-d '\{"display_order":"integer","name":"string"\}'

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
project_idintegertrueproject ID
attachment_idstringtrueProjectAttachment ID

Body

NameTypeDescription
display_orderinteger-
namestring-

Response

204

No Content

400

Invalid request

404

Project attachment does not exist

500

Internal Server Error

DELETE Delete a project attachment by ID

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments/{attachment_id}

Deletes a project attachment by the provided ID.

curl -X DELETE https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments/{attachment_id} \
-H "Content-Type: application/json"

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
project_idintegertrueproject ID
attachment_idintegertrueproject attachment ID

Response

204

No Content

400

Invalid request

404

Project attachment does not exist

500

Internal Server Error

GET View a project attachment

https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments/{attachment_id}/view

View a project attachment by the provided ID.

curl  https://focus.toggl.com/api/organizations/{organization_id}/workspaces/{workspace_id}/projects/{project_id}/attachments/{attachment_id}/view \
-H "Content-Type: application/json"

Parameters

Path

nametyperequireddescription
organization_idintegertrueorganization ID
workspace_idintegertrueworkspace ID
project_idintegertrueproject ID
attachment_idintegertrueproject attachment ID

Response

200

NameTypeDescription
created_atstring-
deleted_atstring-
display_orderinteger-
idinteger-
mime_typestring-
namestring-
project_idinteger-
sizeinteger-
updated_atstring-

400

Invalid request

404

ProjectAttachment does not exist

500

Internal Server Error

© 2026 Toggl. All rights reserved.