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.