Clickup · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Clickup Tasks API

25 actions 25 updates phrasing extends openapi/clickup-tasks-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Clickup's API. It is a proposal applied on top of the contract, not a document Clickup publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 25 · first 16 shown; the file carries all of them

$.info
$.paths['/v2/list/{list_id}/task'].get
$.paths['/v2/list/{list_id}/task'].post
$.paths['/v2/task/{task_id}'].get
$.paths['/v2/task/{task_id}'].put
$.paths['/v2/task/{task_id}'].delete
$.paths['/v2/team/{team_Id}/task'].get
$.paths['/v2/task/{task_id}/merge'].post
$.paths['/v2/task/{task_id}/time_in_status'].get
$.paths['/v2/task/bulk_time_in_status/task_ids'].get
$.paths['/v2/list/{list_id}/taskTemplate/{template_id}'].post
$.paths['/api/v3/workspaces/{workspace_id}/tasks/{task_id}/home_list/{list_id}'].put
$.paths['/api/v3/workspaces/{workspace_id}/tasks/{task_id}/time_estimates_by_user'].put
$.paths['/api/v3/workspaces/{workspace_id}/tasks/{task_id}/time_estimates_by_user'].patch
$.paths['/list/{list_id}/task'].get
$.paths['/list/{list_id}/task'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Clickup Tasks API
  version: 1.0.0
extends: openapi/clickup-tasks-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 24
- target: $.paths['/v2/list/{list_id}/task'].get
  update:
    x-apievangelist-phrasing:
      intent: List the tasks in a List (v2)
      effect: read
      questions:
      - How do I pull every task in one ClickUp List through the v2 API, 100 per page?
      - Can the v2 List task listing filter by watchers or by the date a task was done?
      - Does the v2 list of tasks include tasks that live in multiple Lists?
      instructions:
      - text: Using the v2 endpoint, list the tasks in List {list_id}.
        slots:
          list_id: path.list_id
      - text: Via v2, show tasks in List {list_id} watched by {watchers}, including tasks in multiple lists.
        slots:
          list_id: path.list_id
          watchers: query.watchers
      - text: Get v2 page {page} of tasks in List {list_id} completed after {date_done_gt}.
        slots:
          page: query.page
          list_id: path.list_id
          date_done_gt: query.date_done_gt
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/list/{list_id}/task'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a task in a List (v2)
      effect: write
      questions:
      - What do I need to send to add a new task to a List using the v2 endpoint?
      - Can I create a task with a custom task type and story points in one v2 call?
      - Is it possible to make a task that enforces required Custom Fields on creation through v2?
      instructions:
      - text: Through the v2 API, create a task named {name} in List {list_id}.
        slots:
          name: requestBody.name
          list_id: path.list_id
      - text: Via v2, add task {name} to List {list_id} worth {points} sprint points.
        slots:
          name: requestBody.name
          list_id: path.list_id
          points: requestBody.points
      - text: Using v2, create task {name} in List {list_id} as custom task type {custom_item_id}.
        slots:
          name: requestBody.name
          list_id: path.list_id
          custom_item_id: requestBody.custom_item_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/task/{task_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a task's details (v2)
      effect: read
      questions:
      - How do I look up a single task's details and attachments with the v2 endpoint?
      - Can the v2 task lookup return the task's Custom Field values and subtasks?
      - Why don't Docs attached to a task show up when I fetch it through v2?
      instructions:
      - text: Fetch task {task_id} using the v2 endpoint.
        slots:
          task_id: path.task_id
      - text: Via v2, get task {task_id} with its subtasks and markdown description.
        slots:
          task_id: path.task_id
      - text: Look up task by custom ID {task_id} in Workspace {team_id} through v2.
        slots:
          task_id: path.task_id
          team_id: query.team_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/task/{task_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a task's fields (v2)
      effect: write
      questions:
      - How can I change a task's status or priority through the v2 update endpoint?
      - Can I add watchers or group assignees when updating a task in v2?
      - Is it possible to change a task's custom task type after it has been created?
      instructions:
      - text: Via v2, set the status of task {task_id} to {status}.
        slots:
          task_id: path.task_id
          status: requestBody.status
      - text: Using the v2 endpoint, update watchers on task {task_id} to {watchers}.
        slots:
          task_id: path.task_id
          watchers: requestBody.watchers
      - text: Through v2, change task {task_id} to custom task type {custom_item_id}.
        slots:
          task_id: path.task_id
          custom_item_id: requestBody.custom_item_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/task/{task_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a task (v2)
      effect: destructive
      questions:
      - How do I remove a task from my Workspace with the v2 endpoint?
      - Can I delete a task by its custom task ID through v2?
      instructions:
      - text: Delete task {task_id} using the v2 endpoint.
        slots:
          task_id: path.task_id
      - text: Via v2, delete the task with custom ID {task_id} in Workspace {team_id}.
        slots:
          task_id: path.task_id
          team_id: query.team_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/team/{team_Id}/task'].get
  update:
    x-apievangelist-phrasing:
      intent: Filter tasks across a Workspace (v2)
      effect: read
      questions:
      - How do I find tasks across my whole Workspace that match certain filters using v2?
      - Can the v2 Workspace task filter narrow results to subtasks of one parent task?
      - Which v2 filter lets me search Workspace tasks by custom task type?
      instructions:
      - text: Via v2, list tasks across Workspace {team_Id} assigned to {assignees}.
        slots:
          team_Id: path.team_Id
          assignees: query.assignees[]
      - text: Using v2, find Workspace {team_Id} tasks under parent task {parent}.
        slots:
          team_Id: path.team_Id
          parent: query.parent
      - text: Through v2, get Workspace {team_Id} tasks of custom task type {custom_items}.
        slots:
          team_Id: path.team_Id
          custom_items: query.custom_items[]
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/task/{task_id}/merge'].post
  update:
    x-apievangelist-phrasing:
      intent: Merge several tasks into one target task
      effect: destructive
      questions:
      - Can I merge duplicate tasks into a single task?
      - What happens to source tasks when they are merged into a target task?
      - Does task merging work with custom task IDs?
      instructions:
      - text: Merge tasks {source_task_ids} into task {task_id}.
        slots:
          source_task_ids: requestBody.source_task_ids
          task_id: path.task_id
      - text: Combine the duplicate tasks {source_task_ids} into target task {task_id}.
        slots:
          source_task_ids: requestBody.source_task_ids
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/task/{task_id}/time_in_status'].get
  update:
    x-apievangelist-phrasing:
      intent: See how long a task spent in each status (v2)
      effect: read
      questions:
      - How long has one task been sitting in each status, using the v2 endpoint?
      - Which ClickApp must be on before I can read a task's time in status?
      instructions:
      - text: Via v2, show time in status for task {task_id}.
        slots:
          task_id: path.task_id
      - text: Using v2, get the per-status durations for custom task ID {task_id} in Workspace {team_id}.
        slots:
          task_id: path.task_id
          team_id: query.team_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/task/bulk_time_in_status/task_ids'].get
  update:
    x-apievangelist-phrasing:
      intent: Get time in status for many tasks (v2)
      effect: read
      questions:
      - Can I get time-in-status numbers for several tasks in one v2 request?
      - What's the v2 way to compare how long a batch of tasks stayed in each status?
      instructions:
      - text: Via v2, get time in status for tasks {task_ids}.
        slots:
          task_ids: query.task_ids
      - text: Using the v2 bulk endpoint, compare status durations for custom task IDs {task_ids} in Workspace {team_id}.
        slots:
          task_ids: query.task_ids
          team_id: query.team_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/list/{list_id}/taskTemplate/{template_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a task from a task template
      effect: write
      questions:
      - How do I spin up a new task from one of my Workspace task templates?
      - Can I use a publicly shared template to create a task?
      instructions:
      - text: Create task {name} in List {list_id} from template {template_id}.
        slots:
          name: requestBody.name
          list_id: path.list_id
          template_id: path.template_id
      - text: Use task template {template_id} to add a task called {name} to List {list_id}.
        slots:
          template_id: path.template_id
          name: requestBody.name
          list_id: path.list_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v3/workspaces/{workspace_id}/tasks/{task_id}/home_list/{list_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Move a task to a new home List
      effect: write
      questions:
      - How do I move a task to a different List?
      - Can I map old statuses to new ones when moving a task between Lists?
      - What happens to a task in multiple Lists when I move it?
      instructions:
      - text: Move task {task_id} to List {list_id} in Workspace {workspace_id}.
        slots:
          task_id: path.task_id
          list_id: path.list_id
          workspace_id: path.workspace_id
      - text: Change the home List of task {task_id} to {list_id} in Workspace {workspace_id}, using status mappings {status_mappings}.
        slots:
          task_id: path.task_id
          list_id: path.list_id
          workspace_id: path.workspace_id
          status_mappings: requestBody.status_mappings
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v3/workspaces/{workspace_id}/tasks/{task_id}/time_estimates_by_user'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace all per-user time estimates on a task
      effect: destructive
      questions:
      - How do I overwrite every per-assignee time estimate on a task at once?
      - Are existing time estimates removed if I leave them out of the replacement?
      instructions:
      - text: Replace all time estimates on task {task_id} in Workspace {workspace_id} with a new set.
        slots:
          task_id: path.task_id
          workspace_id: path.workspace_id
      - text: Wipe and reset the per-user time estimates for task {task_id} in Workspace {workspace_id}.
        slots:
          task_id: path.task_id
          workspace_id: path.workspace_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v3/workspaces/{workspace_id}/tasks/{task_id}/time_estimates_by_user'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update time estimates for specific assignees
      effect: write
      questions:
      - Can I change the time estimate for just one assignee on a task without touching the others?
      - Is there a way to set a time estimate for unassigned work on a task?
      instructions:
      - text: Update the time estimate for certain assignees on task {task_id} in Workspace {workspace_id}.
        slots:
          task_id: path.task_id
          workspace_id: path.workspace_id
      - text: Set an unassigned-work time estimate on task {task_id} in Workspace {workspace_id}, leaving other assignees as they are.
        slots:
          task_id: path.task_id
          workspace_id: path.workspace_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/list/{list_id}/task'].get
  update:
    x-apievangelist-phrasing:
      intent: List tasks in a List (unversioned path)
      effect: read
      questions:
      - What's the unversioned endpoint for listing the tasks in a List?
      - Can I order a List's tasks by due date on the non-v2 task listing path?
      instructions:
      - text: Using the unversioned path, list tasks in List {list_id}.
        slots:
          list_id: path.list_id
      - text: On the non-v2 endpoint, get tasks in List {list_id} ordered by {order_by}, including closed ones.
        slots:
          list_id: path.list_id
          order_by: query.order_by
      method: generated
      generated: '2026-09-26'
- target: $.paths['/list/{list_id}/task'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a task in a List (unversioned path)
      effect: write
      questions:
      - Which non-v2 endpoint adds a task to a List with a markdown description?
      - Can the unversioned create-task path accept a custom task ID lookup?
      instructions:
      - text: Via the unversioned path, create task {name} in List {list_id}.
        slots:
          name: requestBody.name
          list_id: path.list_id
      - text: On the non-v2 endpoint, add task {name} to List {list_id} with markdown description {markdown_description}.
        slots:
          name: requestBody.name
          list_id: path.list_id
          markdown_description: requestBody.markdown_description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/task/{task_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a task by ID (unversioned path)
      effect: read
      questions:
      - Is there a non-v2 path for fetching one task with its assignees and tags?
      - Can I read a task's subtasks from the unversioned task endpoint?
      instructions:
      - text: Using the unversioned path, fetch task {task_id}.
        slots:
          task_id: path.task_id
      - text: On the non-v2 endpoint, get task {task_id} including subtasks.
        slots:
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/task/{task_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a task (unversioned path)
      effect: write
      questions:
      - Which non-v2 endpoint updates a task while leaving omitted fields unchanged?
      - Can I archive a task through the unversioned update path?
      instructions:
      - text: Via the unversioned path, rename task {task_id} to {name}.
        slots:
          task_id: path.task_id
          name: requestBody.name
      - text: On the non-v2 endpoint, set the due date of task {task_id} to {due_date}.
        slots:
          task_id: path.task_id
          due_date: requestBody.due_date
      method: generated
      generated: '2026-09-26'
- target: $.paths['/task/{task_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a task (unversioned path)
      effect: destructive
      questions:
      - Is deleting a task on the non-v2 endpoint permanent?
      - What's the unversioned path for removing a task by ID?
      instructions:
      - text: Permanently delete task {task_id} via the unversioned path.
        slots:
          task_id: path.task_id
      - text: On the non-v2 endpoint, remove task {task_id} for good.
        slots:
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/team/{team_id}/task'].get
  update:
    x-apievangelist-phrasing:
      intent: Search tasks across a Workspace (unversioned path)
      effect: read
      questions:
      - Which non-v2 endpoint searches tasks across every Space and Folder in a Workspace?
      - Can the unversioned Workspace task search filter by tags and statuses together?
      instructions:
      - text: Using the unversioned path, search Workspace {team_id} for tasks tagged {tags}.
        slots:
          team_id: path.team_id
          tags: query.tags[]
      - text: On the non-v2 endpoint, find tasks in Workspace {team_id} with status {statuses} in Spaces {space_ids}.
        slots:
          team_id: path.team_id
          statuses: query.statuses[]
          space_ids: query.space_ids[]
      method: generated
      generated: '2026-09-26'
- target: $.paths['/task/{task_id}/time_in_status'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a task's time in status (unversioned path)
      effect: read
      questions:
      - Is there a non-v2 path showing every status a task has been in and for how long?
      - Can I read one task's status history durations from the unversioned endpoint?
      instructions:
      - text: Using the unversioned path, get time in status for task {task_id}.
        slots:
          task_id: path.task_id
      - text: On the non-v2 endpoint, list how long task {task_id} sat in each status.
        slots:
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/task/bulk_time_in_status/task_ids'].get
  update:
    x-apievangelist-phrasing:
      intent: Get bulk time in status (unversioned path)
      effect: read
      questions:
      - Which non-v2 endpoint returns time in status for multiple tasks at once?
      - Can I pass an array of task IDs to the unversioned bulk time-in-status path?
      instructions:
      - text: Using the unversioned bulk path, get time in status for tasks {task_ids}.
        slots:
          task_ids: query.task_ids[]
      - text: On the non-v2 endpoint, pull status durations for task IDs {task_ids} in one call.
        slots:
          task_ids: query.task_ids[]
      method: generated
      generated: '2026-09-26'
- target: $.paths['/list/{list_id}/task/{task_id}/member'].get
  update:
    x-apievangelist-phrasing:
      intent: List a task's assignees and watchers in a List
      effect: read
      questions:
      - Who are the assignees and watchers on a task inside a specific List?
      - Can I get a task's members by giving both its List and task ID?
      instructions:
      - text: List the assignees and watchers of task {task_id} in List {list_id}.
        slots:
          task_id: path.task_id
          list_id: path.list_id
      - text: Show who is on task {task_id} within List {list_id}.
        slots:
          task_id: path.task_id
          list_id: path.list_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/task/{task_id}/tag/{tag_name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Tag a task, creating the tag if needed
      effect: write
      questions:
      - Does adding a tag to a task on the unversioned path create the tag in the Space if it's new?
      - What's the non-v2 way to tag a task?
      instructions:
      - text: Via the unversioned path, tag task {task_id} with {tag_name}, creating the tag if it doesn't exist.
        slots:
          task_id: path.task_id
          tag_name: path.tag_name
      - text: On the non-v2 endpoint, add tag {tag_name} to task {task_id}.
        slots:
          tag_name: path.tag_name
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/task/{task_id}/tag/{tag_name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a tag from a task (unversioned path)
      effect: destructive
      questions:
      - What's the non-v2 endpoint for untagging a task?
      - Can I strip one tag off a task through the unversioned path?
      instructions:
      - text: Via the unversioned path, remove tag {tag_name} from task {task_id}.
        slots:
          tag_name: path.tag_name
          task_id: path.task_id
      - text: On the non-v2 endpoint, untag {tag_name} from task {task_id}.
        slots:
          tag_name: path.tag_name
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/clickup-tasks-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.