clickup Time Tracking API

Operations for managing time entries and timers within a ClickUp Workspace.

Operations 23

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v2/team/{team_Id}/time_entries List time entries in a date range (v2) · Get time entries within a date range #
Ask an LLM
“How do I pull every time entry my team logged in ClickUp between two dates?”
“Can I filter the v2 time entries report down to billable time only?”
Tell an agent
Using the v2 endpoint, list time entries in Workspace {team_Id} from {start_date} to {end_date}.
Show only billable v2 time entries for assignee {assignee} in Workspace {team_Id}, with approval history included.
POST /v2/team/{team_Id}/time_entries Log a manual time entry (v2) · Create a time entry #
Ask an LLM
“Can I log time after the fact with a start time and duration through the v2 API?”
“Is it possible to record billable hours for a teammate rather than myself in v2?”
Tell an agent
Log {duration} ms starting at {start} on task {tid} in Workspace {team_Id} via v2.
Record a billable v2 time entry for user {assignee} in Workspace {team_Id} described as {description}, starting {start}, lasting {duration}.
GET /v2/team/{team_id}/time_entries/{timer_id} Retrieve one time entry (v2) · Get singular time entry #
Ask an LLM
“What details come back for a single time entry in the v2 API?”
“Can I see the approval details and task tags on one specific tracked-time record?”
Tell an agent
Fetch v2 time entry {timer_id} from Workspace {team_id}.
Show time entry {timer_id} in Workspace {team_id} including its task tags and location names.
DELETE /v2/team/{team_id}/time_entries/{timer_id} Delete a time entry (v2) · Delete a time Entry #
Ask an LLM
“How can I remove a time entry that was logged by mistake with the v2 API?”
“Does deleting a tracked-time record through v2 take it out of the whole Workspace?”
Tell an agent destructive · confirm first
Delete v2 time entry {timer_id} from Workspace {team_id}.
Remove the mistaken tracked-time record {timer_id} in Workspace {team_id} using v2.
PUT /v2/team/{team_id}/time_entries/{timer_id} Edit a time entry (v2) · Update a time Entry #
Ask an LLM
“Can I change the duration or description of a time entry already logged, using v2?”
“Is there a way to add or remove tags on an existing time record while editing it in v2?”
Tell an agent
Change the description of v2 time entry {timer_id} in Workspace {team_id} to {description}, keeping tags {tags}.
Set v2 time entry {timer_id} in {team_id} to duration {duration} and apply tag action {tag_action} with tags {tags}.
GET /v2/team/{team_id}/time_entries/{timer_id}/history View the change history of a time entry · Get time entry history #
Ask an LLM
“Who changed a time entry and what did they change?”
“Can I audit the edits made to one logged time record?”
Tell an agent
Show the change history for time entry {timer_id} in Workspace {team_id}.
List every edit made to timer {timer_id} in {team_id}.
GET /v2/team/{team_id}/time_entries/current Check the currently running timer (v2) · Get running time entry #
Ask an LLM
“Is my ClickUp timer running right now, and on which task?”
“Can I check whether a specific teammate has a v2 timer ticking at the moment?”
Tell an agent
Show my running timer in Workspace {team_id} via v2.
Check whether user {assignee} has a timer going right now in Workspace {team_id}, v2.
DELETE /v2/team/{team_id}/time_entries/tags Remove labels from time entries · Remove tags from time entries #
Ask an LLM
“Can I strip a label off some time entries without deleting the label from the Workspace?”
“How do I untag several tracked-time records at once?”
Tell an agent destructive · confirm first
Remove tags {tags} from time entries {time_entry_ids} in Workspace {team_id}.
Untag records {time_entry_ids} in {team_id}, dropping the {tags} labels.
GET /v2/team/{team_id}/time_entries/tags List time entry labels (v2) · Get all tags from time entries #
Ask an LLM
“Which labels have been applied to time entries across the Workspace, per the v2 API?”
“What tag names are in use on tracked time right now?”
Tell an agent
List every label used on v2 time entries in Workspace {team_id}.
Show the tag vocabulary for tracked time in {team_id} with v2.
POST /v2/team/{team_id}/time_entries/tags Label time entries (v2) · Add tags from time entries #
Ask an LLM
“Can I apply the same label to several time entries in one v2 call?”
“What's the way to tag a batch of logged hours as client work via v2?”
Tell an agent
Apply tags {tags} to time entries {time_entry_ids} in Workspace {team_id} through v2.
Label v2 tracked-time records {time_entry_ids} in {team_id} with {tags}.
PUT /v2/team/{team_id}/time_entries/tags Rename a time entry label · Change tag names from time entries #
Ask an LLM
“Can I rename a time-tracking label and change its colors at the same time?”
“How do I fix a typo in a tag used on time entries?”
Tell an agent
Rename time entry label {name} to {new_name} in Workspace {team_id} with background {tag_bg} and text color {tag_fg}.
Change the tracked-time tag {name} to read {new_name} in {team_id}, colors {tag_bg} and {tag_fg}.
POST /v2/team/{team_Id}/time_entries/start Start a new timer (v2) · Start a time Entry #
Ask an LLM
“How do I start tracking time on a task from a script with the v2 API?”
“Can a v2 timer be started as billable with a description attached?”
Tell an agent
Start a v2 timer on task {tid} in Workspace {team_Id}.
Begin tracking billable time in {team_Id} with note {description} using v2.
POST /v2/team/{team_id}/time_entries/stop Stop my running timer (v2) · Stop a time Entry #
Ask an LLM
“What call stops the clock on my current v2 timer?”
“Can I end the time tracking I have going without knowing the entry ID, in v2?”
Tell an agent
Stop my running v2 timer in Workspace {team_id}.
End the time tracking currently ticking for me in {team_id} via the v2 endpoint.
GET /team/{team_id}/time_entries List time entries by date (legacy path) · Get time entries within a date range #
Ask an LLM
“On the legacy unversioned path, how do I fetch time logged between two dates?”
“Does the older time entries endpoint let me filter by assignee and task?”
Tell an agent
On the legacy path, fetch time logs for Workspace {team_id} between {start_date} and {end_date}.
Pull legacy time logs for task {task_id} in {team_id}.
POST /team/{team_id}/time_entries Log a manual time entry (legacy path) · Create a time entry #
Ask an LLM
“Does the older unversioned endpoint accept manual time logs with a start and duration?”
“Can I mark a manually logged record billable on the legacy path?”
Tell an agent
On the legacy path, add a manual time log to task {tid} in {team_id}: start {start}, duration {duration}.
Using the older endpoint, record {duration} of work beginning {start} in Workspace {team_id}.
GET /team/{team_id}/time_entries/{timer_id} Retrieve one time entry (legacy path) · Get a single time entry #
Ask an LLM
“How do I look up a time log by its ID on the legacy unversioned path?”
“What does the older single time entry endpoint return?”
Tell an agent
Look up legacy time log {timer_id} in Workspace {team_id}.
Using the older endpoint, read time record {timer_id} from {team_id}.
PUT /team/{team_id}/time_entries/{timer_id} Edit a time entry (legacy path) · Update a time entry #
Ask an LLM
“Can the older unversioned endpoint change a time log's start and end?”
“Is billable status editable on a legacy time record?”
Tell an agent
On the legacy path, move time log {timer_id} in {team_id} to start {start} and end {end}.
Using the older endpoint, rewrite the note on record {timer_id} in {team_id} as {description}.
DELETE /team/{team_id}/time_entries/{timer_id} Delete a time entry (legacy path) · Delete a time entry #
Ask an LLM
“Is deleting a time log through the older unversioned endpoint permanent?”
“Can a legacy time record be recovered after I remove it?”
Tell an agent destructive · confirm first
Permanently erase legacy time log {timer_id} in Workspace {team_id}.
Using the older endpoint, wipe out record {timer_id} from {team_id}.
GET /team/{team_id}/time_entries/current Check the running timer (legacy path) · Get running time entry #
Ask an LLM
“Does the legacy unversioned path tell me which timer is active for me?”
“On the older endpoint, can I see a colleague's active clock?”
Tell an agent
On the legacy path, report my active clock in Workspace {team_id}.
Using the older endpoint, see if {assignee} has an active clock in {team_id}.
POST /team/{team_id}/time_entries/start/{timer_id} Start the timer for a time entry (legacy) · Start a time entry #
Ask an LLM
“What happens to my other running timer if I start one on the legacy path?”
“Can I resume timing a specific existing time entry by its ID?”
Tell an agent
Resume timing existing entry {timer_id} in Workspace {team_id} on the legacy path.
Restart the clock on entry {timer_id} in {team_id} against task {tid}.
POST /team/{team_id}/time_entries/stop Stop my running timer (legacy path) · Stop a time entry #
Ask an LLM
“Which legacy unversioned endpoint halts my active clock?”
“Does the older API let me stop timing without passing an entry ID?”
Tell an agent
On the legacy path, halt my active clock in Workspace {team_id}.
Using the older endpoint, finish my current timing session in {team_id}.
GET /team/{team_id}/time_entries/tags List time entry tags (legacy path) · Get all time entry tags #
Ask an LLM
“On the older unversioned path, what tags exist on time logs?”
“Can the legacy API list the tag names people put on their hours?”
Tell an agent
On the legacy path, enumerate tags found on time logs in Workspace {team_id}.
Using the older endpoint, get the hour-tracking tag names for {team_id}.
POST /team/{team_id}/time_entries/tags Tag time entries (legacy path) · Add tags to time entries #
Ask an LLM
“Can I attach tags to multiple time logs through the older unversioned endpoint?”
“Does the legacy path support bulk tagging of hours?”
Tell an agent
On the legacy path, attach {tags} to time logs {time_entry_ids} in Workspace {team_id}.
Using the older endpoint, bulk-tag hours {time_entry_ids} in {team_id} as {tags}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/clickup-time-tracking-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

clickup-time-tracking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Clickup Time Tracking API
  version: '2.0'
  description: 'Operations tagged Time Tracking across 2 of this provider''s published API definitions: clickup-api-v2-reference-openapi.json, clickup-time-tracking-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.clickup.com/api
  description: ClickUp
  variables: {}
- url: https://api.clickup.com/api/v2
  description: ClickUp API v2 Production Server
tags:


# --- truncated at 32 KB (94 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/clickup/refs/heads/main/openapi/clickup-time-tracking-api-openapi.yml