Context
cu api is the escape hatch for endpoints without dedicated commands, but it hardcodes the v2 base URL, making the entire ClickUp v3 API surface (Docs, Chat, Attachments v3, Audit Logs) unreachable. It also only supports raw string bodies, so multipart uploads (e.g. task attachments) are impossible even on v2.
Evidence
internal/cmd/api.go:77 — baseURL := "https://api.clickup.com/api/v2"; the endpoint argument is always appended to the v2 prefix with no way to target /api/v3.
cu api accepts only a raw --data string body; there is no --field/--file multipart support, so POST /task/{task_id}/attachment (multipart/form-data) cannot be exercised.
Suggested fix
- Add API version selection (e.g.
--api-version 3) or accept full paths (cu api /api/v3/...) so both v2 and v3 endpoints are reachable.
- Add gh-api-style body construction: repeatable
--field key=value and --file key=@path flags that switch the request to multipart/form-data, enabling attachment uploads.
Context
cu apiis the escape hatch for endpoints without dedicated commands, but it hardcodes the v2 base URL, making the entire ClickUp v3 API surface (Docs, Chat, Attachments v3, Audit Logs) unreachable. It also only supports raw string bodies, so multipart uploads (e.g. task attachments) are impossible even on v2.Evidence
internal/cmd/api.go:77—baseURL := "https://api.clickup.com/api/v2"; the endpoint argument is always appended to the v2 prefix with no way to target/api/v3.cu apiaccepts only a raw--datastring body; there is no--field/--filemultipart support, soPOST /task/{task_id}/attachment(multipart/form-data) cannot be exercised.Suggested fix
--api-version 3) or accept full paths (cu api /api/v3/...) so both v2 and v3 endpoints are reachable.--field key=valueand--file key=@pathflags that switch the request to multipart/form-data, enabling attachment uploads.