Skip to main content

A Python client for interacting with the ClickUp API V2.

Project description

ClickUp API V2 Client

A Python client for interacting with the ClickUp API V2, providing convenient methods to fetch data, update tasks, and manage custom fields. Features

  • Retrieve team IDs.
  • Fetch workspaces, folders, lists, and tasks.
  • Get custom fields for a specific list.
  • Update task attributes.
  • Set custom field values for tasks.

Installation

pip install clickup-apiv2

Usage

Initialize the Client

from clickup_apiv2 import Client 

api_token = "your_clickup_api_token"
client = Client(api_token)

Methods

  1. Get Team IDs

Retrieve the IDs of your teams.

team_ids = client.get_team_id()
print("Team IDs:", team_ids)
  1. Get Workspaces

Fetch all workspaces (spaces) for a given team.

team_id = "your_team_id"
workspaces = client.get_workspaces(team_id)
print("Workspaces:", workspaces)
  1. Get Workspace Folders

Fetch all folders within a specific workspace.

workspace_id = "your_workspace_id"
folders = client.get_workspace_folders(workspace_id)
print("Folders:", folders)
  1. Get Workspace Lists

Retrieve lists directly under a workspace.

workspace_id = "your_workspace_id"
lists = client.get_workspace_lists(workspace_id)
print("Lists:", lists)
  1. Get Folder Lists

Fetch lists contained within a folder.

folder_id = "your_folder_id"
lists = client.get_folder_lists(folder_id)
print("Folder Lists:", lists)
  1. Get List Tasks

Retrieve all tasks in a specific list.

list_id = "your_list_id"
tasks = client.get_list_tasks(list_id)
print("Tasks:", tasks)
  1. Get List Custom Fields

Fetch all custom fields for a list.

list_id = "your_list_id"
custom_fields = client.get_list_custom_fields(list_id)
print("Custom Fields:", custom_fields)
  1. Update a Task

Update attributes of a task (e.g., name, status).

task_id = "your_task_id"
update_task_data = {
    "name": "New Task Name",
    "status": "in progress"
}
response = client.update_task(task_id, update_task_data)
print("Task Update Response:", response)
  1. Set Task Custom Field Value

Set or update a custom field value for a task.

task_id = "your_task_id"
field_id = "your_field_id"
custom_field_data = {"value": "New Value"}

response = client.set_task_custom_field_value(task_id, field_id, custom_field_data)
print("Set Custom Field Response:", response)

Example Workflow

Initialize client

api_token = "your_clickup_api_token"
client = Client(api_token)

Fetch team IDs

team_ids = client.get_team_id()

if team_ids:
    team_id = team_ids[0]
    
    # Get workspaces
    workspaces = client.get_workspaces(team_id)
    print("Workspaces:", workspaces)

    if workspaces:
        workspace_id = workspaces[0]["id"]

        # Get lists in workspace
        lists = client.get_workspace_lists(workspace_id)
        print("Lists:", lists)

        if lists:
            list_id = lists[0]["id"]

            # Get tasks in the list
            tasks = client.get_list_tasks(list_id)
            print("Tasks:", tasks)
            
            if tasks:
                task_id = tasks[0]["id"]

                # Update a task
                update_data = {"status": "completed"}
                client.update_task(task_id, update_data)

                # Set custom field value
                field_id = "your_field_id"
                client.set_task_custom_field_value(task_id, field_id, {"value": "Updated Value"})

Error Handling

The client handles HTTP errors gracefully by catching requests.exceptions.RequestException and printing a relevant error message.

Contributing

Feel free to submit issues or pull requests to enhance the functionality.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clickup_apiv2-0.0.8.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clickup_apiv2-0.0.8-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file clickup_apiv2-0.0.8.tar.gz.

File metadata

  • Download URL: clickup_apiv2-0.0.8.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for clickup_apiv2-0.0.8.tar.gz
Algorithm Hash digest
SHA256 78406c09c8d5003b69736b0d0ae5071db8fbf289d080847ab89a2fba705891ec
MD5 e036aaaed05696b3f0ec7d4867892b9c
BLAKE2b-256 5ffde747b8e5a57a6270ed269e3f10c9823abca5f05f718824abf996afca496a

See more details on using hashes here.

Provenance

The following attestation bundles were made for clickup_apiv2-0.0.8.tar.gz:

Publisher: python-publish.yml on lorithai/clickup_apiV2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clickup_apiv2-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: clickup_apiv2-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for clickup_apiv2-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 49ff3579e49aaca919c775f4467333195317030e5ec647390bf010aae0e4c8dd
MD5 939d696b95240f5daa98053045b546d3
BLAKE2b-256 d07cd518abd3c9852a0689e2e7062096e3bda52b48d05e8ad74de03caa220a5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for clickup_apiv2-0.0.8-py3-none-any.whl:

Publisher: python-publish.yml on lorithai/clickup_apiV2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page