Clickup Time Tracking (Legacy) API

The Time Tracking (Legacy) API from Clickup — 2 operation(s) for time tracking (legacy).

Operations 4

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/task/{task_id}/time Get time tracked on a task (legacy) · Get tracked time #
Ask an LLM
“How much time has been tracked on a task, using the legacy time endpoint?”
“Can I read a task's tracked intervals with the older time tracking API?”
Tell an agent
Using legacy time tracking, get tracked time on task {task_id}.
Show the legacy tracked-time intervals for custom task ID {task_id} in Workspace {team_id}.
POST /v2/task/{task_id}/time Log a time interval on a task (legacy) · Track time #
Ask an LLM
“How do I log time against a task with the legacy time tracking endpoint?”
“What start, end and duration values does the legacy track-time call need?”
Tell an agent
With legacy time tracking, log {time} ms on task {task_id} from {start} to {end}.
Track a legacy time interval on task {task_id} starting {start} and ending {end}, lasting {time}.
PUT /v2/task/{task_id}/time/{interval_id} Edit a tracked time interval (legacy) · Edit time tracked #
Ask an LLM
“Can I fix the start or end of a time interval logged with the legacy endpoint?”
“How do I change a legacy tracked interval's duration?”
Tell an agent
Edit legacy interval {interval_id} on task {task_id} to run from {start} to {end}, total {time}.
Correct tracked interval {interval_id} of task {task_id} using the legacy API: start {start}, end {end}, time {time}.
DELETE /v2/task/{task_id}/time/{interval_id} Delete a tracked time interval (legacy) · Delete time tracked #
Ask an LLM
“How do I remove a time interval I logged with the legacy endpoint?”
“Can I delete one tracked interval from a task without touching the others?”
Tell an agent destructive · confirm first
Delete legacy interval {interval_id} from task {task_id}.
Remove tracked time interval {interval_id} on task {task_id} via legacy time tracking.

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-legacy-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-legacy-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ClickUp API v2 Reference Time Tracking (Legacy) API
  description: The ClickUp API enables you to programmatically access and manage your ClickUp resources.
  contact: {}
  version: '2.0'
servers:
- url: https://api.clickup.com/api
  description: ClickUp
  variables: {}
security:
- Authorization_Token: []
tags:
- name: Time Tracking (Legacy)
paths:
  /v2/task/{task_id}/time:
    parameters: []
    get:
      summary: Get tracked time
      tags:
      - Time Tracking (Legacy)
      description: '***Note:** This is a legacy time tracking endpoint. We recommend using the Time Tracking API endpoints to manage time entries.*'
      operationId: Gettrackedtime
      parameters:
      - name: task_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
          examples:
          - 9hv
      - name: custom_task_ids
        in: query
        description: If you want to reference a task by it's custom task id, this value must be `true`.
        style: form
        explode: true
        schema:
          type: boolean
          examples:
          - true
      - name: team_id
        in: query
        description: "When the `custom_task_ids` parameter is set to `true`, the Workspace ID must be provided using the `team_id` parameter.\n \\\nFor example: `custom_task_ids=true&team_id=123`."
        style: form
        explode: true
        schema:
          type: number
          contentEncoding: double
          examples:
          - 123
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          const: application/json
          type: string
          examples:
          - application/json
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                title: Gettrackedtimeresponse
                required:
                - data
                type: object
                properties:
                  data:
                    type: array
                    items:
                      title: Datum
                      required:
                      - user
                      - time
                      - intervals
                      type: object
                      properties:
                        user:
                          title: User13
                          required:
                          - id
                          - username
                          - email
                          - color
                          - initials
                          - profilePicture
                          type: object
                          properties:
                            id:
                              type: integer
                              contentEncoding: int32
                            username:
                              type: string
                            email:
                              type: string
                            color:
                              type: string
                            initials:
                              type: string
                            profilePicture:
                              type:
                              - string
                              - 'null'
                          examples:
                          - id: 1
                            username: John Doe
                            email: johndoe@gmail.com
                            color: '#795548'
                            initials: JD
                            profilePicture: null
                        time:
                          type: integer
                          contentEncoding: int32
                        intervals:
                          type: array
                          items:
                            title: Interval
                            required:
                            - id
                            - start
                            - end
                            - time
                            - source
                            - date_added
                            type: object
                            properties:
                              id:
                                type: string
                              start:
                                type:
                                - string
                                - 'null'
                              end:
                                type:
                                - string
                                - 'null'
                              time:
                                type: string
                              source:
                                type: string
                              date_added:
                                type: string
                            examples:
                            - id: '318'
                              start: null
                              end: null
                              time: '1000000'
                              source: chrome
                              date_added: '1569983937761'
                          description: ''
                      examples:
                      - user:
                          id: 1
                          username: John Doe
                          email: johndoe@gmail.com
                          color: '#795548'
                          initials: JD
                          profilePicture: null
                        time: 1000000
                        intervals:
                        - id: '318'
                          start: null
                          end: null
                          time: '1000000'
                          source: chrome
                          date_added: '1569983937761'
                    description: ''
                examples:
                - data:
                  - user:
                      id: 1
                      username: John Doe
                      email: johndoe@gmail.com
                      color: '#795548'
                      initials: JD
                      profilePicture: null
                    time: 1000000
                    intervals:
                    - id: '318'
                      start: null
                      end: null
                      time: '1000000'
                      source: chrome
                      date_added: '1569983937761'
              example:
                data:
                - user:
                    id: 1
                    username: John Doe
                    email: johndoe@gmail.com
                    color: '#795548'
                    initials: JD
                    profilePicture: null
                  time: 1000000
                  intervals:
                  - id: '318'
                    start: null
                    end: null
                    time: '1000000'
                    source: chrome
                    date_added: '1569983937761'
      deprecated: false
    post:
      summary: Track time
      tags:
      - Time Tracking (Legacy)
      description: '***Note:** This is a legacy time tracking endpoint. We recommend using the Time Tracking API endpoints to manage time entries.*'
      operationId: Tracktime
      parameters:
      - name: task_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
          examples:
          - 9hv
      - name: custom_task_ids
        in: query
        description: If you want to reference a task by it's custom task id, this value must be `true`.
        style: form
        explode: true
        schema:
          type: boolean
          examples:
          - true
      - name: team_id
        in: query
        description: "When the `custom_task_ids` parameter is set to `true`, the Workspace ID must be provided using the `team_id` parameter.\n \\\nFor example: `custom_task_ids=true&team_id=123`."
        style: form
        explode: true
        schema:
          type: number
          contentEncoding: double
          examples:
          - 123
      requestBody:
        description: "Include the total time or the start time and end time.\\\n \\\nThe total time is in milliseconds and `\"start\"` and `\"end\"` values are Unix time in milliseconds."
        content:
          application/json:
            schema:
              title: Tracktimerequest
              required:
              - start
              - end
              - time
              type: object
              properties:
                start:
                  type: integer
                  contentEncoding: int64
                end:
                  type: integer
                  contentEncoding: int64
                time:
                  type: integer
                  contentEncoding: int32
              examples:
              - start: 1567780450202
                end: 1508369194377
                time: 8640000
            example:
              start: 1567780450202
              end: 1508369194377
              time: 8640000
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                title: Tracktimeresponse
                required:
                - id
                type: object
                properties:
                  id:
                    type: string
                examples:
                - id: '123'
              example:
                id: '123'
      deprecated: false
  /v2/task/{task_id}/time/{interval_id}:
    parameters: []
    put:
      summary: Edit time tracked
      tags:
      - Time Tracking (Legacy)
      description: '***Note:** This is a legacy time tracking endpoint. We recommend using the Time Tracking API endpoints to manage time entries.*'
      operationId: Edittimetracked
      parameters:
      - name: task_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
          examples:
          - 9hv
      - name: interval_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
          examples:
          - '123'
      - name: custom_task_ids
        in: query
        description: If you want to reference a task by it's custom task id, this value must be `true`.
        style: form
        explode: true
        schema:
          type: boolean
          examples:
          - true
      - name: team_id
        in: query
        description: "When the `custom_task_ids` parameter is set to `true`, the Workspace ID must be provided using the `team_id` parameter.\n \\\nFor example: `custom_task_ids=true&team_id=123`."
        style: form
        explode: true
        schema:
          type: number
          contentEncoding: double
          examples:
          - 123
      requestBody:
        description: Edit the start, end, or total time of a time tracked entry.
        content:
          application/json:
            schema:
              title: Edittimetrackedrequest
              required:
              - start
              - end
              - time
              type: object
              properties:
                start:
                  type: integer
                  contentEncoding: int64
                end:
                  type: integer
                  contentEncoding: int64
                time:
                  type: integer
                  contentEncoding: int32
              examples:
              - start: 1567780450202
                end: 1508369194377
                time: 8640000
            example:
              start: 1567780450202
              end: 1508369194377
              time: 8640000
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: object
                examples:
                - {}
                contentMediaType: application/json
              example: {}
      deprecated: false
    delete:
      summary: Delete time tracked
      tags:
      - Time Tracking (Legacy)
      description: '***Note:** This is a legacy time tracking endpoint. We recommend using the Time Tracking API endpoints to manage time entries.*'
      operationId: Deletetimetracked
      parameters:
      - name: task_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
          examples:
          - 9hv
      - name: interval_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
          examples:
          - '123'
      - name: custom_task_ids
        in: query
        description: If you want to reference a task by it's custom task id, this value must be `true`.
        style: form
        explode: true
        schema:
          type: boolean
          examples:
          - true
      - name: team_id
        in: query
        description: "When the `custom_task_ids` parameter is set to `true`, the Workspace ID must be provided using the `team_id` parameter.\n \\\nFor example: `custom_task_ids=true&team_id=123`."
        style: form
        explode: true
        schema:
          type: number
          contentEncoding: double
          examples:
          - 123
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          const: application/json
          type: string
          examples:
          - application/json
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: object
                examples:
                - {}
                contentMediaType: application/json
              example: {}
      deprecated: false
components:
  securitySchemes:
    Authorization_Token:
      name: Authorization
      type: apiKey
      in: header
      description: 'API token required for authentication. Two types of tokens are supported:

        **Personal API Key** Obtain from ClickUp''s settings page under ''Apps'' and add it to the header as `Authorization: pk_...`

        **OAuth2 Access Token** Generated through the OAuth2 flow and add it to the header as `Authorization: Bearer {access_token}`'