Documents & Productivity — entry 005 of 30

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/json — schema (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}

Changelog

Spec version2.0
Tracked paths83

No change recorded yet.

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗