This is ClickUp dot net client library. It is not affiliated with or endorsed by ClickUp.
This project contains two generated Kiota clients because ClickUp's public API is currently split across versions:
ClickUpV2Clientcontains the established task-management API: Workspaces, Spaces, Folders, Lists, Tasks, members, comments, time tracking, goals, and webhooks.ClickUpV3Clientcontains the endpoints currently published in ClickUp's v3 description, including Chat, Docs, ACLs, audit logs, newer comments, and newer task/list operations.
Use v2 for normal office task-board workflows and v3 only for an operation that is present there. Both clients use the same ClickUp personal token or OAuth access token.
using ClickUpAPI;
var httpClient = new HttpClient();
var v2 = ClickUpClientFactory.CreateV2(clickUpToken, httpClient);
var v3 = ClickUpClientFactory.CreateV3(clickUpToken, httpClient);
var workspaces = await v2.Team.GetAsync();
var channels = await v3.Workspaces[workspaceId].Chat.Channels.GetAsync();Keep the token in application configuration or a secret store. ClickUp expects
the raw token in the Authorization header; the factory adds that header to
every generated request.
The generation script stores unmodified ClickUp descriptions and deterministic
Kiota inputs under Specs/. These local JSON files are ignored by Git. The
preparation step fixes numeric formats and v2 local references which Kiota
otherwise models incorrectly. It also moves the fixed API-version prefixes into
each client's base URL, giving callers a flat API such as v2.Team and
v3.Workspaces without changing the HTTP addresses.
The official descriptions come from ClickUp's published
v2 OpenAPI document
and v3 OpenAPI document.
Generated sources under Client/ are committed so normal builds do not require
the Kiota command-line tool. The generation script downloads the descriptions
automatically when they are absent.
pwsh ./tools/generate-clients.ps1Generation requires the .NET 10 SDK and the kiota .NET tool. The script first
builds the package-free ClickUp.OpenApiPrep console utility, then runs Kiota in
offline mode because both API descriptions are local files.
To replace local descriptions with the latest published versions:
pwsh ./tools/generate-clients.ps1 -RefreshSpecsReview generated API changes after refreshing. ClickUp's v3 description remains partial and can add or change endpoints independently of v2.