OpenAPI V2 spec: type mismatches for time_spent, time_estimate, assignees, and tags in task responses
I
Isaac Rowntree
The V2 OpenAPI spec at https://developer.clickup.com/openapi/clickup-api-v2-reference.json has incorrect type definitions for several task response fields. This causes JSON deserialization errors in any code generated from the spec.
**Issue 1:
time_spent
and time_estimate
declared as string|null
, API returns integer
**Affected endpoints: GET /v2/task/{task_id}, PUT /v2/task/{task_id}, POST /v2/list/{list_id}/task, and others.
Spec declares: {"type": ["string", "null"]}
API actually returns: "time_spent": 3600000 (integer, milliseconds)
Error when using generated code: json: cannot unmarshal number into Go struct field UpdateTaskJSONResponse.time_spent of type string
Fix: Change to {"type": ["integer", "null"], "description": "Time in milliseconds"}
**Issue 2:
assignees
and tags
declared as string[]
, API returns object[]
**Spec declares: {"type": "array", "items": {"type": "string"}}
API actually returns:
- assignees: [{"id": 123, "username": "isaac", "email": "isaac@example.com", ...}]
- tags: [{"name": "bug", "tag_fg": "#fff", "tag_bg": "#f00"}]
Fix: Change items to proper object schemas with the fields the API actually returns.
These mismatches affect all task-related endpoints. The V3 spec does not have these issues. Verified against spec version last-modified 2026-04-02.
Log In