ClickUp workspace API for reading and writing tasks, lists, folders, spaces, comments, time entries, docs, and chat. Best for syncing task state into or out of ClickUp, automating status transitions, or pulling pipeline data into reports. Covers both v2 (team/space/list/task hierarchy, time tracking, webhooks) and v3 (chat, docs, audit logs).
16 example endpoints available through Lava’s AI Gateway. See the ClickUp API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a
catch-all provider — any valid URL under
https://api.clickup.com is supported. Any ClickUp API endpoint. v2 paths start with /api/v2 (most of the product — workspaces/teams, spaces, folders, lists, tasks, comments, time tracking, webhooks). v3 paths start with /api/v3 (chat, docs, audit logs, attachments). Construct URL as
https://api.clickup.com/{path} . See
https://developer.clickup.com/reference for full reference. The endpoints below are curated examples.
Endpoints
List Workspaces (called “teams” in the v2 API) the authorized user can access. Use first to discover workspace IDs for downstream calls.
GET https://api.clickup.com/api/v2/team — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/team' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Fteam" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
Get the authorized user.
GET https://api.clickup.com/api/v2/user — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/user' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Fuser" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
List spaces under a Workspace (team_id).
GET https://api.clickup.com/api/v2/team/{team_id}/space — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/team/{team_id}/space' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Fteam%2F%7Bteam_id%7D%2Fspace" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
List folders under a space.
GET https://api.clickup.com/api/v2/space/{space_id}/folder — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/space/{space_id}/folder' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Fspace%2F%7Bspace_id%7D%2Ffolder" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
List lists under a folder.
GET https://api.clickup.com/api/v2/folder/{folder_id}/list — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/folder/{folder_id}/list' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Ffolder%2F%7Bfolder_id%7D%2Flist" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
List tasks in a list. Supports filters: page, archived, include_closed, order_by, assignees, tags, due_date_gt, etc.
GET https://api.clickup.com/api/v2/list/{list_id}/task?archived=false&include_closed=false — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/list/{list_id}/task?archived=false&include_closed=false' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Flist%2F%7Blist_id%7D%2Ftask%3Farchived%3Dfalse%26include_closed%3Dfalse" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
Create a task in a list.
POST https://api.clickup.com/api/v2/list/{list_id}/task — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/list/{list_id}/task' , {
body: {
"name" : "New task from Lava" ,
"description" : "Created via the gateway" ,
"status" : "to do"
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Flist%2F%7Blist_id%7D%2Ftask" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"name":"New task from Lava","description":"Created via the gateway","status":"to do"}'
Retrieve a single task by ID. Supports custom_task_ids and team_id query params.
GET https://api.clickup.com/api/v2/task/{task_id} — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/task/{task_id}' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Ftask%2F%7Btask_id%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
Update a task. Only fields in the body are modified — use status, name, description, priority, assignees_add, assignees_rem, etc.
PUT https://api.clickup.com/api/v2/task/{task_id} — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/task/{task_id}' , { method: 'PUT' , body: { "status" : "in progress" } });
curl -X PUT "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Ftask%2F%7Btask_id%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"status":"in progress"}'
Delete a task.
DELETE https://api.clickup.com/api/v2/task/{task_id} — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/task/{task_id}' , { method: 'DELETE' });
curl -X DELETE "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Ftask%2F%7Btask_id%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json"
Get filtered tasks across a whole Workspace. Supports page, assignees, statuses, tags, date filters, space_ids, project_ids, list_ids.
GET https://api.clickup.com/api/v2/team/{team_id}/task?include_closed=false — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/team/{team_id}/task?include_closed=false' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Fteam%2F%7Bteam_id%7D%2Ftask%3Finclude_closed%3Dfalse" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
POST https://api.clickup.com/api/v2/task/{task_id}/comment — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/task/{task_id}/comment' , {
body: {
"comment_text" : "Posted via Lava gateway." ,
"notify_all" : false
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Ftask%2F%7Btask_id%7D%2Fcomment" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"comment_text":"Posted via Lava gateway.","notify_all":false}'
GET https://api.clickup.com/api/v2/team/{team_id}/time_entries — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/team/{team_id}/time_entries' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Fteam%2F%7Bteam_id%7D%2Ftime_entries" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
Create a time entry for a Workspace.
POST https://api.clickup.com/api/v2/team/{team_id}/time_entries — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/team/{team_id}/time_entries' , {
body: {
"start" : 1700000000000 ,
"duration" : 3600000 ,
"description" : "Working on task" ,
"tid" : "{task_id}"
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Fteam%2F%7Bteam_id%7D%2Ftime_entries" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"start":1700000000000,"duration":3600000,"description":"Working on task","tid":"{task_id}"}'
Create a webhook subscription for a Workspace.
POST https://api.clickup.com/api/v2/team/{team_id}/webhook — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v2/team/{team_id}/webhook' , {
body: {
"endpoint" : "https://example.com/clickup-webhook" ,
"events" : [
"taskCreated" ,
"taskUpdated"
]
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv2%2Fteam%2F%7Bteam_id%7D%2Fwebhook" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"endpoint":"https://example.com/clickup-webhook","events":["taskCreated","taskUpdated"]}'
Update a Chat channel (v3) — name, description, topic, visibility.
PATCH https://api.clickup.com/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id} — Free
const data = await lava . gateway ( 'https://api.clickup.com/api/v3/workspaces/{workspace_id}/chat/channels/{channel_id}' , { method: 'PATCH' , body: { "name" : "Renamed channel" } });
curl -X PATCH "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.clickup.com%2Fapi%2Fv3%2Fworkspaces%2F%7Bworkspace_id%7D%2Fchat%2Fchannels%2F%7Bchannel_id%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"name":"Renamed channel"}'
Next Steps
All Providers Browse all supported AI providers
Forward Proxy Learn how to construct proxy URLs and authenticate requests