Documents & Productivity — entry 005 of 31

ClickUp

Verified Jul 2026

ClickUp's REST API mirrors nearly every surface of its all-in-one project management app -- tasks, docs, goals, time tracking, and custom fields -- authenticated with either a personal API token or a full OAuth2 app flow for marketplace integrations. The Free Forever plan includes real API access at 100 requests/minute per token, scaling up to 10,000 requests/minute on Enterprise -- pricing tier changes throughput, not access. The live API host sends no CORS headers, so browser calls need a server-side proxy.

project-managementtask-managementproductivitycollaboration
AuthenticationOAuthRequires an OAuth flow; expect app registration.
HTTPSSupportedTraffic is encrypted in transit.
CORSDisabledBrowser calls need a server-side proxy.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication8/25OAuth flow required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/clickup/"><img src="https://greatapis.com/badge/clickup.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. Register an app / run the OAuth flow to obtain a bearer token.
  2. Send it as an Authorization headerAuthorization: Bearer <token>
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.clickup.com/api
Auth
Authorization_Token
Authorization2
POST/v2/oauth/tokenGet Access Token
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/userGet Authorized User
Responses
StatusDescriptionSchema
200
Attachments1
POST/v2/task/{task_id}/attachmentCreate Task Attachment
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
Comments10
PUT/v2/comment/{comment_id}Update Comment
Parameters
NameInRequiredType
comment_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/comment/{comment_id}Delete Comment
Parameters
NameInRequiredType
comment_idpathyesnumber
Responses
StatusDescriptionSchema
200
GET/v2/comment/{comment_id}/replyGet Threaded Comments
Parameters
NameInRequiredType
comment_idpathyesnumber
Responses
StatusDescriptionSchema
200schema
POST/v2/comment/{comment_id}/replyCreate Threaded Comment
Parameters
NameInRequiredType
comment_idpathyesnumber
Request body

application/jsonschema (required)

Responses
StatusDescriptionSchema
200
GET/v2/list/{list_id}/commentGet List Comments
Parameters
NameInRequiredType
list_idpathyesnumber
startquerynointeger
start_idquerynostring
Responses
StatusDescriptionSchema
200
POST/v2/list/{list_id}/commentCreate List Comment
Parameters
NameInRequiredType
list_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/task/{task_id}/commentGet Task Comments
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
startquerynointeger
start_idquerynostring
Responses
StatusDescriptionSchema
200
POST/v2/task/{task_id}/commentCreate Task Comment
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/view/{view_id}/commentGet Chat View Comments
Parameters
NameInRequiredType
view_idpathyesstring
startquerynointeger
start_idquerynostring
Responses
StatusDescriptionSchema
200
POST/v2/view/{view_id}/commentCreate Chat View Comment
Parameters
NameInRequiredType
view_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
Custom Task Types1
GET/v2/team/{team_id}/custom_itemGet Custom Task Types
Parameters
NameInRequiredType
team_idpathyesnumber
Responses
StatusDescriptionSchema
200
Custom Fields6
GET/v2/folder/{folder_id}/fieldGet Folder Custom Fields
Parameters
NameInRequiredType
folder_idpathyesnumber
include_applied_objectsquerynoboolean
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
GET/v2/list/{list_id}/fieldGet List Custom Fields
Parameters
NameInRequiredType
list_idpathyesnumber
include_applied_objectsquerynoboolean
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
GET/v2/space/{space_id}/fieldGet Space Custom Fields
Parameters
NameInRequiredType
space_idpathyesnumber
include_applied_objectsquerynoboolean
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
POST/v2/task/{task_id}/field/{field_id}Set Custom Field Value
Parameters
NameInRequiredType
task_idpathyesstring
field_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
400Returned when the Custom Field is not applicable to the task's custom task type.
DELETE/v2/task/{task_id}/field/{field_id}Remove Custom Field Value
Parameters
NameInRequiredType
task_idpathyesstring
field_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/fieldGet Workspace Custom Fields
Parameters
NameInRequiredType
team_idpathyesnumber
include_applied_objectsquerynoboolean
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
Folders6
GET/v2/folder/{folder_id}Get Folder
Parameters
NameInRequiredType
folder_idpathyesnumber
Responses
StatusDescriptionSchema
200
PUT/v2/folder/{folder_id}Update Folder
Parameters
NameInRequiredType
folder_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/folder/{folder_id}Delete Folder
Parameters
NameInRequiredType
folder_idpathyesnumber
Responses
StatusDescriptionSchema
200
GET/v2/space/{space_id}/folderGet Folders
Parameters
NameInRequiredType
space_idpathyesnumber
archivedquerynoboolean
Responses
StatusDescriptionSchema
200
POST/v2/space/{space_id}/folderCreate Folder
Parameters
NameInRequiredType
space_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
POST/v2/space/{space_id}/folder_template/{template_id}Create Folder from template
Parameters
NameInRequiredType
space_idpathyesstring
template_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Folder created successfully
400Bad request - Name is required
401Unauthorized
403Forbidden
404Template or space not found
500Internal server error
Goals8
GET/v2/goal/{goal_id}Get Goal
Parameters
NameInRequiredType
goal_idpathyesstring
Responses
StatusDescriptionSchema
200
PUT/v2/goal/{goal_id}Update Goal
Parameters
NameInRequiredType
goal_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/goal/{goal_id}Delete Goal
Parameters
NameInRequiredType
goal_idpathyesstring
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
POST/v2/goal/{goal_id}/key_resultCreate Key Result
Parameters
NameInRequiredType
goal_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
PUT/v2/key_result/{key_result_id}Edit Key Result
Parameters
NameInRequiredType
key_result_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/key_result/{key_result_id}Delete Key Result
Parameters
NameInRequiredType
key_result_idpathyesstring
Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/goalGet Goals
Parameters
NameInRequiredType
team_idpathyesnumber
include_completedquerynoboolean
Responses
StatusDescriptionSchema
200
POST/v2/team/{team_id}/goalCreate Goal
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
Guests10
POST/v2/folder/{folder_id}/guest/{guest_id}Add Guest To Folder
Parameters
NameInRequiredType
folder_idpathyesnumber
guest_idpathyesnumber
include_sharedquerynoboolean
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/folder/{folder_id}/guest/{guest_id}Remove Guest From Folder
Parameters
NameInRequiredType
folder_idpathyesnumber
guest_idpathyesnumber
include_sharedquerynoboolean
Responses
StatusDescriptionSchema
200
POST/v2/list/{list_id}/guest/{guest_id}Add Guest To List
Parameters
NameInRequiredType
list_idpathyesnumber
guest_idpathyesnumber
include_sharedquerynoboolean
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/list/{list_id}/guest/{guest_id}Remove Guest From List
Parameters
NameInRequiredType
list_idpathyesnumber
guest_idpathyesnumber
include_sharedquerynoboolean
Responses
StatusDescriptionSchema
200
POST/v2/task/{task_id}/guest/{guest_id}Add Guest To Task
Parameters
NameInRequiredType
task_idpathyesstring
guest_idpathyesnumber
include_sharedquerynoboolean
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/task/{task_id}/guest/{guest_id}Remove Guest From Task
Parameters
NameInRequiredType
task_idpathyesstring
guest_idpathyesnumber
include_sharedquerynoboolean
custom_task_idsquerynoboolean
team_idquerynonumber
Responses
StatusDescriptionSchema
200
POST/v2/team/{team_id}/guestInvite Guest To Workspace
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/guest/{guest_id}Get Guest
Parameters
NameInRequiredType
team_idpathyesnumber
guest_idpathyesnumber
Responses
StatusDescriptionSchema
200
PUT/v2/team/{team_id}/guest/{guest_id}Edit Guest On Workspace
Parameters
NameInRequiredType
team_idpathyesnumber
guest_idpathyesnumber
Request body

application/json

Responses
StatusDescriptionSchema
200
DELETE/v2/team/{team_id}/guest/{guest_id}Remove Guest From Workspace
Parameters
NameInRequiredType
team_idpathyesnumber
guest_idpathyesnumber
Responses
StatusDescriptionSchema
200
Lists11
GET/v2/folder/{folder_id}/listGet Lists
Parameters
NameInRequiredType
folder_idpathyesnumber
archivedquerynoboolean
Responses
StatusDescriptionSchema
200
POST/v2/folder/{folder_id}/listCreate List
Parameters
NameInRequiredType
folder_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
POST/v2/folder/{folder_id}/list_template/{template_id}Create List From Template in Folder
Parameters
NameInRequiredType
folder_idpathyesstring
template_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200List created successfullyschema
400Bad request - Name is required
401Unauthorized
403Forbidden
404Template, folder, or space not found
500Internal server error
GET/v2/list/{list_id}Get List
Parameters
NameInRequiredType
list_idpathyesnumber
Responses
StatusDescriptionSchema
200
PUT/v2/list/{list_id}Update List
Parameters
NameInRequiredType
list_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/list/{list_id}Delete List
Parameters
NameInRequiredType
list_idpathyesnumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
POST/v2/list/{list_id}/task/{task_id}Add Task To List
Parameters
NameInRequiredType
list_idpathyesnumber
task_idpathyesstring
Responses
StatusDescriptionSchema
200
DELETE/v2/list/{list_id}/task/{task_id}Remove Task From List
Parameters
NameInRequiredType
list_idpathyesnumber
task_idpathyesstring
Responses
StatusDescriptionSchema
200
GET/v2/space/{space_id}/listGet Folderless Lists
Parameters
NameInRequiredType
space_idpathyesnumber
archivedquerynoboolean
Responses
StatusDescriptionSchema
200
POST/v2/space/{space_id}/listCreate Folderless List
Parameters
NameInRequiredType
space_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
POST/v2/space/{space_id}/list_template/{template_id}Create List From Template in Space
Parameters
NameInRequiredType
space_idpathyesstring
template_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200List created successfully
400Bad request - Name is required, or is already taken
401Unauthorized
403Forbidden
404Template, folder, or space not found
500Internal server error
Members2
GET/v2/list/{list_id}/memberGet List Members
Parameters
NameInRequiredType
list_idpathyesnumber
Responses
StatusDescriptionSchema
200
GET/v2/task/{task_id}/memberGet Task Members
Parameters
NameInRequiredType
task_idpathyesstring
Responses
StatusDescriptionSchema
200
Roles1
GET/v2/team/{team_id}/customrolesGet Custom Roles
Parameters
NameInRequiredType
team_idpathyesnumber
include_membersquerynoboolean
Responses
StatusDescriptionSchema
200
Shared Hierarchy1
GET/v2/team/{team_id}/sharedShared Hierarchy
Parameters
NameInRequiredType
team_idpathyesnumber
Responses
StatusDescriptionSchema
200
Spaces5
GET/v2/space/{space_id}Get Space
Parameters
NameInRequiredType
space_idpathyesnumber
Responses
StatusDescriptionSchema
200
PUT/v2/space/{space_id}Update Space
Parameters
NameInRequiredType
space_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/space/{space_id}Delete Space
Parameters
NameInRequiredType
space_idpathyesnumber
Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/spaceGet Spaces
Parameters
NameInRequiredType
team_idpathyesnumber
archivedquerynoboolean
Responses
StatusDescriptionSchema
200
POST/v2/team/{team_id}/spaceCreate Space
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
Tags6
GET/v2/space/{space_id}/tagGet Space Tags
Parameters
NameInRequiredType
space_idpathyesnumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
POST/v2/space/{space_id}/tagCreate Space Tag
Parameters
NameInRequiredType
space_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
PUT/v2/space/{space_id}/tag/{tag_name}Edit Space Tag
Parameters
NameInRequiredType
space_idpathyesnumber
tag_namepathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/space/{space_id}/tag/{tag_name}Delete Space Tag
Parameters
NameInRequiredType
space_idpathyesnumber
tag_namepathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
POST/v2/task/{task_id}/tag/{tag_name}Add Tag To Task
Parameters
NameInRequiredType
task_idpathyesstring
tag_namepathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
DELETE/v2/task/{task_id}/tag/{tag_name}Remove Tag From Task
Parameters
NameInRequiredType
task_idpathyesstring
tag_namepathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
Tasks10
GET/v2/list/{list_id}/taskGet Tasks
Parameters
NameInRequiredType
list_idpathyesnumber
archivedquerynoboolean
include_markdown_descriptionquerynoboolean
pagequerynointeger
order_byquerynostring
reversequerynoboolean
subtasksquerynoboolean
statusesquerynoarray
include_closedquerynoboolean
include_timlquerynoboolean
assigneesquerynoarray
watchersquerynoarray
tagsquerynoarray
due_date_gtquerynointeger
due_date_ltquerynointeger
date_created_gtquerynointeger
date_created_ltquerynointeger
date_updated_gtquerynointeger
date_updated_ltquerynointeger
date_done_gtquerynointeger
date_done_ltquerynointeger
custom_fieldsquerynoarray
custom_fieldquerynoarray
custom_itemsquerynoarray
Responses
StatusDescriptionSchema
200
POST/v2/list/{list_id}/taskCreate Task
Parameters
NameInRequiredType
list_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
POST/v2/list/{list_id}/taskTemplate/{template_id}Create Task From Template
Parameters
NameInRequiredType
list_idpathyesnumber
template_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/task/bulk_time_in_status/task_idsGet Bulk Tasks' Time in Status
Parameters
NameInRequiredType
task_idsqueryyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
GET/v2/task/{task_id}Get Task
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
include_subtasksquerynoboolean
include_markdown_descriptionquerynoboolean
custom_fieldsquerynoarray
Responses
StatusDescriptionSchema
200
PUT/v2/task/{task_id}Update Task
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/task/{task_id}Delete Task
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
204
POST/v2/task/{task_id}/mergeMerge Tasks
Parameters
NameInRequiredType
task_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Tasks merged successfully
400Bad request - invalid task IDs or other validation errors
403Unauthorized to merge these tasks
404One or more tasks not found
GET/v2/task/{task_id}/time_in_statusGet Task's Time in Status
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
GET/v2/team/{team_Id}/taskGet Filtered Team Tasks
Parameters
NameInRequiredType
team_Idpathyesnumber
pagequerynointeger
order_byquerynostring
reversequerynoboolean
subtasksquerynoboolean
space_ids[]querynoarray
project_ids[]querynoarray
list_ids[]querynoarray
statuses[]querynoarray
include_closedquerynoboolean
assignees[]querynoarray
tags[]querynoarray
due_date_gtquerynointeger
due_date_ltquerynointeger
date_created_gtquerynointeger
date_created_ltquerynointeger
date_updated_gtquerynointeger
date_updated_ltquerynointeger
date_done_gtquerynointeger
date_done_ltquerynointeger
custom_fieldsquerynoarray
parentquerynostring
include_markdown_descriptionquerynoboolean
custom_items[]querynoarray
Responses
StatusDescriptionSchema
200
Task Checklists6
PUT/v2/checklist/{checklist_id}Edit Checklist
Parameters
NameInRequiredType
checklist_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/checklist/{checklist_id}Delete Checklist
Parameters
NameInRequiredType
checklist_idpathyesstring
Responses
StatusDescriptionSchema
200
POST/v2/checklist/{checklist_id}/checklist_itemCreate Checklist Item
Parameters
NameInRequiredType
checklist_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
PUT/v2/checklist/{checklist_id}/checklist_item/{checklist_item_id}Edit Checklist Item
Parameters
NameInRequiredType
checklist_idpathyesstring
checklist_item_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/checklist/{checklist_id}/checklist_item/{checklist_item_id}Delete Checklist Item
Parameters
NameInRequiredType
checklist_idpathyesstring
checklist_item_idpathyesstring
Responses
StatusDescriptionSchema
200
POST/v2/task/{task_id}/checklistCreate Checklist
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
Task Relationships4
POST/v2/task/{task_id}/dependencyAdd Dependency
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/task/{task_id}/dependencyDelete Dependency
Parameters
NameInRequiredType
task_idpathyesstring
depends_onqueryyesstring
dependency_ofqueryyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Responses
StatusDescriptionSchema
200
POST/v2/task/{task_id}/link/{links_to}Add Task Link
Parameters
NameInRequiredType
task_idpathyesstring
links_topathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Responses
StatusDescriptionSchema
200
DELETE/v2/task/{task_id}/link/{links_to}Delete Task Link
Parameters
NameInRequiredType
task_idpathyesstring
links_topathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Responses
StatusDescriptionSchema
200
Templates3
GET/v2/team/{team_id}/folder_templateGet Folder Templates
Parameters
NameInRequiredType
team_idpathyesnumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200Folder templates retrieved successfully.
GET/v2/team/{team_id}/list_templateGet List Templates
Parameters
NameInRequiredType
team_idpathyesnumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200List templates retrieved successfully.
GET/v2/team/{team_id}/taskTemplateGet Task Templates
Parameters
NameInRequiredType
team_idpathyesnumber
pagequeryyesinteger
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
Workspaces3
GET/v2/teamGet Authorized Workspaces
Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/planGet Workspace Plan
Parameters
NameInRequiredType
team_idpathyesstring
Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/seatsGet Workspace seats
Parameters
NameInRequiredType
team_idpathyesstring
Responses
StatusDescriptionSchema
200
User Groups4
GET/v2/groupGet Groups
Parameters
NameInRequiredType
team_idqueryyesnumber
group_idsquerynoarray
Responses
StatusDescriptionSchema
200
PUT/v2/group/{group_id}Update Group
Parameters
NameInRequiredType
group_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/group/{group_id}Delete Group
Parameters
NameInRequiredType
group_idpathyesstring
Responses
StatusDescriptionSchema
200
POST/v2/team/{team_id}/groupCreate Group
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
Time Tracking13
GET/v2/team/{team_Id}/time_entriesGet time entries within a date range
Parameters
NameInRequiredType
team_Idpathyesnumber
start_datequerynonumber
end_datequerynonumber
assigneequerynonumber
include_task_tagsquerynoboolean
include_location_namesquerynoboolean
include_approval_historyquerynoboolean
include_approval_detailsquerynoboolean
space_idquerynonumber
folder_idquerynonumber
list_idquerynonumber
task_idquerynostring
custom_task_idsquerynoboolean
team_idquerynonumber
is_billablequerynoboolean
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200If your time entry is associated with a task that uses custom task ids you can expect a `custom_id`` field in the body of the response. The task field will only be included if there is a task associated with a time entry.
POST/v2/team/{team_Id}/time_entriesCreate a time entry
Parameters
NameInRequiredType
team_Idpathyesnumber
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
POST/v2/team/{team_Id}/time_entries/startStart a time Entry
Parameters
NameInRequiredType
team_Idpathyesnumber
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/time_entries/currentGet running time entry
Parameters
NameInRequiredType
team_idpathyesnumber
assigneequerynonumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
POST/v2/team/{team_id}/time_entries/stopStop a time Entry
Parameters
NameInRequiredType
team_idpathyesnumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/time_entries/tagsGet all tags from time entries
Parameters
NameInRequiredType
team_idpathyesnumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
POST/v2/team/{team_id}/time_entries/tagsAdd tags from time entries
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
PUT/v2/team/{team_id}/time_entries/tagsChange tag names from time entries
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/team/{team_id}/time_entries/tagsRemove tags from time entries
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/time_entries/{timer_id}Get singular time entry
Parameters
NameInRequiredType
team_idpathyesnumber
timer_idpathyesstring
include_task_tagsquerynoboolean
include_location_namesquerynoboolean
include_approval_historyquerynoboolean
include_approval_detailsquerynoboolean
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
PUT/v2/team/{team_id}/time_entries/{timer_id}Update a time Entry
Parameters
NameInRequiredType
team_idpathyesnumber
timer_idpathyesnumber
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/team/{team_id}/time_entries/{timer_id}Delete a time Entry
Parameters
NameInRequiredType
team_idpathyesnumber
timer_idpathyesnumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/time_entries/{timer_id}/historyGet time entry history
Parameters
NameInRequiredType
team_idpathyesnumber
timer_idpathyesstring
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
Time Tracking (Legacy)4
GET/v2/task/{task_id}/timeGet tracked time
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
POST/v2/task/{task_id}/timeTrack time
Parameters
NameInRequiredType
task_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
PUT/v2/task/{task_id}/time/{interval_id}Edit time tracked
Parameters
NameInRequiredType
task_idpathyesstring
interval_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/task/{task_id}/time/{interval_id}Delete time tracked
Parameters
NameInRequiredType
task_idpathyesstring
interval_idpathyesstring
custom_task_idsquerynoboolean
team_idquerynonumber
Content-Typeheaderyesstring
Responses
StatusDescriptionSchema
200
Users4
POST/v2/team/{team_id}/userInvite User To Workspace
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/user/{user_id}Get User
Parameters
NameInRequiredType
team_idpathyesnumber
user_idpathyesnumber
include_sharedquerynoboolean
Responses
StatusDescriptionSchema
200
PUT/v2/team/{team_id}/user/{user_id}Edit User On Workspace
Parameters
NameInRequiredType
team_idpathyesnumber
user_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/team/{team_id}/user/{user_id}Remove User From Workspace
Parameters
NameInRequiredType
team_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200
Views12
GET/v2/folder/{folder_id}/viewGet Folder Views
Parameters
NameInRequiredType
folder_idpathyesnumber
Responses
StatusDescriptionSchema
200
POST/v2/folder/{folder_id}/viewCreate Folder View
Parameters
NameInRequiredType
folder_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/list/{list_id}/viewGet List Views
Parameters
NameInRequiredType
list_idpathyesnumber
Responses
StatusDescriptionSchema
200
POST/v2/list/{list_id}/viewCreate List View
Parameters
NameInRequiredType
list_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/space/{space_id}/viewGet Space Views
Parameters
NameInRequiredType
space_idpathyesnumber
Responses
StatusDescriptionSchema
200
POST/v2/space/{space_id}/viewCreate Space View
Parameters
NameInRequiredType
space_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/team/{team_id}/viewGet Workspace (Everything level) Views
Parameters
NameInRequiredType
team_idpathyesnumber
Responses
StatusDescriptionSchema
200
POST/v2/team/{team_id}/viewCreate Workspace (Everything level) View
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
GET/v2/view/{view_id}Get View
Parameters
NameInRequiredType
view_idpathyesstring
Responses
StatusDescriptionSchema
200
PUT/v2/view/{view_id}Update View
Parameters
NameInRequiredType
view_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/view/{view_id}Delete View
Parameters
NameInRequiredType
view_idpathyesstring
Responses
StatusDescriptionSchema
200
GET/v2/view/{view_id}/taskGet View Tasks
Parameters
NameInRequiredType
view_idpathyesstring
pagequeryyesinteger
Responses
StatusDescriptionSchema
200
Webhooks4
GET/v2/team/{team_id}/webhookGet Webhooks
Parameters
NameInRequiredType
team_idpathyesnumber
Responses
StatusDescriptionSchema
200
POST/v2/team/{team_id}/webhookCreate Webhook
Parameters
NameInRequiredType
team_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
PUT/v2/webhook/{webhook_id}Update Webhook
Parameters
NameInRequiredType
webhook_idpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
DELETE/v2/webhook/{webhook_id}Delete Webhook
Parameters
NameInRequiredType
webhook_idpathyesstring
Responses
StatusDescriptionSchema
200

Try it

Developer reference

Base URLhttps://api.clickup.com/api
Rate limit

Rate limits are per personal or OAuth token and vary by the Workspace plan hosting the token: Free Forever, Unlimited, and Business get 100 requests per minute per token, Business Plus gets 1,000 requests per minute per token, and Enterprise gets 10,000 requests per minute per token. Exceeding the limit returns HTTP 429; every response reports live usage via X-RateLimit-Limit/-Remaining/-Reset headers.

Key endpoints
  • GET/v2/user
  • GET/v2/team
  • GET/v2/list/{list_id}/task
  • POST/v2/list/{list_id}/task
  • GET/v2/task/{task_id}