Public API

API v2 Get Task drops synced-block content from description, text_content and markdown_description
We just started using synced content (a great feature!), but the REST API has no way to read it. Any integration, export or backup built on Get Task silently loses synced text and images. Endpoint GET /api/v2/task/{task_id} GET /api/v2/task/{task_id}?include_markdown_description=true Problem When a task description contains a synced block, the response carries only a [sync-block:<uuid>] placeholder in description and text_content. markdown_description drops the block entirely, text and images included, with nothing left in its place. This happens in the task that created the block and in every task that shows it. No field returns the block's content or its source, and no documented endpoint resolves a sync-block UUID. Steps to reproduce In task A, add a heading with a synced block under it containing text and a pasted image. Show that block in task B's description. Call GET /api/v2/task/{A}?include_markdown_description=true, then the same for B and once more for A without the flag. Observed description and text_content are identical and contain [sync-block:<uuid>] at the block's position. The same UUID appears in A and B. markdown_description skips straight past the block. In A, the heading is followed directly by the next one (e.g. "# Goals\n\n# Implementation Plan"). include_markdown_description=true adds only the markdown_description key. No other field changes. No top-level key or nested path in the response contains "sync" or "block". Images pasted into the block appear in neither task's markdown. They're only in the uploading task's attachments, with nothing tying them to the block or its position. Expected (any one would do) markdown_description renders synced content inline, as the UI does, with images as links like other inline images. The response includes a synced_blocks array: UUID, source task/doc, and the content as markdown. An endpoint resolves a sync-block UUID to its content and source. Impact markdown_description gives no sign that content is missing, so consumers can't detect the gap. The only way to notice is to scan text_content for [sync-block: markers and compare against the UI. The Get Task reference doesn't mention synced blocks, so integrators have no documented way to handle them. The official MCP server's clickup_get_task inherits the same gap.
0
·
Tasks
Official ClickUp CLI (deterministic, agent-friendly)
Ship an official ClickUp CLI as a deterministic alternative to MCP for agent workflows Problem We are building AI-driven workflows where agents run locally or in CI and need a tool surface that is: deterministic and cheap at runtime self-describing (so agents do not guess capabilities) stable across time (versioned contracts) MCP introduces overhead and token cost due to tool discovery and repeated schema/context exchange. We want a CLI-first interface that is always up to date and can be invoked by agents and automation systems. Request Please ship an official ClickUp CLI that wraps core ClickUp APIs and Automation Webhooks, with the following requirements: Help-first, machine-readable contracts clickup --help and clickup <cmd> --help must be complete and structured include input flags, examples, output schemas, and exit codes JSON by default All commands output strict JSON by default (--human optional) Stable schemas with versioning Stable exit codes 0 success 2 needs_input/validation error 3 blocked/permission/auth/rate limit 4 failed/unexpected Authentication OAuth device flow (ideal), plus optional support for personal tokens for power users Clear scoping to a workspace Core commands (v1) tasks get|search|create|update comments create|list lists get|search webhooks create|test (or automation webhook helpers) docs get|search (if feasible) Safety controls --dry-run to show mutations without applying explicit confirmation flag for destructive operations Auto-update / version pinning ability to force update before run (agent-friendly) ability to pin versions for CI reproducibility Why this matters This enables a “ClickUp as coordination layer” architecture where: ClickUp is the UI + state machine external agents/CLIs do deterministic work in codebases updates are written back to ClickUp reliably This is lower cost and higher control than MCP-style tool calling for many teams. Related Automation webhooks already exist and work well; a CLI would complement them as the execution surface.
4
Load More