Auto backup: 2026-02-19 12:11
This commit is contained in:
190
skills/api-gateway/references/clockify.md
Normal file
190
skills/api-gateway/references/clockify.md
Normal file
@@ -0,0 +1,190 @@
|
||||
# Clockify Routing Reference
|
||||
|
||||
**App name:** `clockify`
|
||||
**Base URL proxied:** `api.clockify.me`
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/clockify/api/v1/{resource}
|
||||
```
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### Get Current User
|
||||
```bash
|
||||
GET /clockify/api/v1/user
|
||||
```
|
||||
|
||||
### List Workspaces
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces
|
||||
```
|
||||
|
||||
### Get Workspace
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}
|
||||
```
|
||||
|
||||
### List Workspace Users
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}/users
|
||||
```
|
||||
|
||||
### List Projects
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}/projects
|
||||
```
|
||||
|
||||
### Get Project
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}
|
||||
```
|
||||
|
||||
### Create Project
|
||||
```bash
|
||||
POST /clockify/api/v1/workspaces/{workspaceId}/projects
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "My Project",
|
||||
"isPublic": true,
|
||||
"clientId": "optional-client-id"
|
||||
}
|
||||
```
|
||||
|
||||
### Update Project
|
||||
```bash
|
||||
PUT /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "Updated Project Name",
|
||||
"archived": true
|
||||
}
|
||||
```
|
||||
|
||||
### Delete Project
|
||||
```bash
|
||||
DELETE /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}
|
||||
```
|
||||
|
||||
### List Clients
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}/clients
|
||||
```
|
||||
|
||||
### Create Client
|
||||
```bash
|
||||
POST /clockify/api/v1/workspaces/{workspaceId}/clients
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "Client Name",
|
||||
"address": "123 Main St",
|
||||
"note": "Client notes"
|
||||
}
|
||||
```
|
||||
|
||||
### List Tags
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}/tags
|
||||
```
|
||||
|
||||
### Create Tag
|
||||
```bash
|
||||
POST /clockify/api/v1/workspaces/{workspaceId}/tags
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "urgent"
|
||||
}
|
||||
```
|
||||
|
||||
### List Tasks on Project
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}/tasks
|
||||
```
|
||||
|
||||
### Create Task
|
||||
```bash
|
||||
POST /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}/tasks
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "Task Name",
|
||||
"assigneeIds": ["user-id"],
|
||||
"estimate": "PT2H",
|
||||
"billable": true
|
||||
}
|
||||
```
|
||||
|
||||
### Get User's Time Entries
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}/user/{userId}/time-entries
|
||||
```
|
||||
|
||||
### Create Time Entry
|
||||
```bash
|
||||
POST /clockify/api/v1/workspaces/{workspaceId}/time-entries
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"start": "2026-02-13T09:00:00Z",
|
||||
"end": "2026-02-13T10:00:00Z",
|
||||
"description": "Working on task",
|
||||
"projectId": "project-id",
|
||||
"taskId": "task-id",
|
||||
"tagIds": ["tag-id"],
|
||||
"billable": true
|
||||
}
|
||||
```
|
||||
|
||||
### Get Time Entry
|
||||
```bash
|
||||
GET /clockify/api/v1/workspaces/{workspaceId}/time-entries/{timeEntryId}
|
||||
```
|
||||
|
||||
### Update Time Entry
|
||||
```bash
|
||||
PUT /clockify/api/v1/workspaces/{workspaceId}/time-entries/{timeEntryId}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"description": "Updated description",
|
||||
"end": "2026-02-13T11:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
### Delete Time Entry
|
||||
```bash
|
||||
DELETE /clockify/api/v1/workspaces/{workspaceId}/time-entries/{timeEntryId}
|
||||
```
|
||||
|
||||
### Stop Running Timer
|
||||
```bash
|
||||
PATCH /clockify/api/v1/workspaces/{workspaceId}/user/{userId}/time-entries
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"end": "2026-02-13T17:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- All IDs are strings
|
||||
- Timestamps must be in ISO 8601 format with UTC timezone (e.g., `2026-02-13T09:00:00Z`)
|
||||
- Duration format uses ISO 8601 duration (e.g., `PT1H` for 1 hour, `PT30M` for 30 minutes)
|
||||
- Cannot delete active projects or tasks - must archive them first
|
||||
- Page-based pagination with `page` and `page-size` query parameters
|
||||
- Response includes `Last-Page` header indicating if more pages exist
|
||||
- Rate limit: 50 requests per second per workspace
|
||||
|
||||
## Resources
|
||||
|
||||
- [Clockify API Documentation](https://docs.clockify.me/)
|
||||
- [Time Entry API](https://docs.clockify.me/#tag/Time-entry)
|
||||
- [Project API](https://docs.clockify.me/#tag/Project)
|
||||
- [Workspace API](https://docs.clockify.me/#tag/Workspace)
|
||||
- [User API](https://docs.clockify.me/#tag/User)
|
||||
Reference in New Issue
Block a user