https://github.com/edsol/php-clickup-api-client
Unofficial PHP ClickUp API client (v2)
https://github.com/edsol/php-clickup-api-client
api api-client api-client-php clickup php
Last synced: 9 months ago
JSON representation
Unofficial PHP ClickUp API client (v2)
- Host: GitHub
- URL: https://github.com/edsol/php-clickup-api-client
- Owner: Edsol
- License: agpl-3.0
- Created: 2023-06-29T12:33:18.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-02T07:28:06.000Z (over 1 year ago)
- Last Synced: 2025-05-09T23:15:41.403Z (9 months ago)
- Topics: api, api-client, api-client-php, clickup, php
- Language: PHP
- Homepage:
- Size: 39.1 KB
- Stars: 3
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Unofficial ClickUp API Client see ClickUp Api Docs
[](https://www.gnu.org/licenses/agpl-3.0)



## Requirements
You need to have a ClickUp token, use [official guide](https://docs.clickup.com/en/articles/1367130-getting-started-with-the-clickup-api) to create one
## Install
```bash
composer require "edsol/clickup-php"
```
## Implementations
### Team
- [x] Read
- [x] get Spaces
### Space
- [x] Read
- [x] get Tags
### Folder
- [x] Create
- [x] Read
- [x] Create List
### Task
- [x] Create
- [x] Read
- [x] Update
- [x] Delete
- [x] Add attachment/s
- [x] Add assignee/s
- [x] Get members
### Comment
- [x] Read
- [x] Create
- [x] Update
- [x] Delete
### Webhook
- [x] List
- [x] Create
- [x] Update
- [x] Delete
## Usages
### Initialize client
```php
$clickup = new \ClickUpClient\Client('CLICK_UP_API_TOKEN');
```
### Team
```php
$clickup->team()->all();
$clickup->team()->spaces();
$clickup->team()->user('USER_ID');
```
### Space
```php
$clickup->space()->get("SPACE_ID");
$clickup->space('SPACE_ID')->tags();
$clickup->space('SPACE_ID')->folders();
$clickup->space('SPACE_ID')->folderlessLists();
```
### Folder
```php
$clickup->folder("SPACE_ID")->lists();
$clickup->folder("FOLDER_ID")->get();
$clickup->folder()->get("FOLDER_ID");
$clickup->folder("SPACE_ID")->create("FOLDER_NAME");
$clickup->folder("SPACE_ID")->createList("LIST_NAME");
```
### List
```php
$clickup->taskList("LIST_ID")->get();
$clickup->taskList("LIST_ID")->getTasks();
$clickup->taskList("LIST_ID")->comments();
$clickup->taskList("LIST_ID")->members();
$clickup->taskList("LIST_ID")->getCustomFields();
```
### Task
```php
$clickup->task("TASK_ID")->get();
$clickup->task("TASK_ID")->comments();
$clickup->task("TASK_ID")->members();
$clickup->task("TASK_ID")->add([
"name": "Updated Task Name",
"description": "Updated Task Content",
]);
$clickup->task("TASK_ID")->delete();
$clickup->task("TASK_ID")->update([
"name": "Updated Task Name",
"description": "Updated Task Content"
]);
$clickup->task("TASK_ID")->addAssignees([
MEMBER_ID_1,
MEMBER_ID_2,
]);
$clickup->task("TASK_ID")->addAssignee(MEMBER_ID);
$attachment = new \ClickUpClient\Objects\Attachment([
'contents' => \GuzzleHttp\Psr7\Utils::tryFopen('FILE_PATH', 'r'),
'filename' => 'filename.txt'
]);
$clickup->task("TASK_ID")->addAttachment($attachment);
$attachments = new \ClickUpClient\Objects\AttachmentCollection([
[
'contents' => \GuzzleHttp\Psr7\Utils::tryFopen('FILE_PATH', 'r'),
'filename' => 'filename1.txt'
],
[
'contents' => \GuzzleHttp\Psr7\Utils::tryFopen('FILE_PATH', 'r'),
'filename' => 'filename2.txt'
],
]);
$clickup->task("TASK_ID")->addAttachments($attachments);
$clickup->task("TASK_ID")->setCustomField("FIELD_ID","NEW_FIELD_VALUE");
$clickup->task("TASK_ID")->deleteCustomField("FIELD_ID");
```
### Comment
```php
$clickup->comment('COMMENT_ID')->update([
'comment_text' => "update comment text"
]);
$clickup->comment()->deleteComment('COMMENT_ID');
```
### Webhook
```php
$clickup->team('TEAM_ID')->webhooks();
$clickup->team('TEAM_ID')->createWebhook([
'endopint' => 'ENDPOINT_URL',
'events' => [
"taskCreated",
"taskUpdated",
"taskDeleted",
],
]);
$clickup->webhook('WEBHOOK_ID')->updateWebhook([
'endopint' => 'ENDPOINT_URL',
'events' => [
"taskCreated",
"taskUpdated",
"taskDeleted",
],
]);
$clickup->webhook('WEBHOOK_ID')->delete();
```