3.7 KiB
3.7 KiB
Clockify Routing Reference
App name: clockify
Base URL proxied: api.clockify.me
API Path Pattern
/clockify/api/v1/{resource}
Common Endpoints
Get Current User
GET /clockify/api/v1/user
List Workspaces
GET /clockify/api/v1/workspaces
Get Workspace
GET /clockify/api/v1/workspaces/{workspaceId}
List Workspace Users
GET /clockify/api/v1/workspaces/{workspaceId}/users
List Projects
GET /clockify/api/v1/workspaces/{workspaceId}/projects
Get Project
GET /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}
Create Project
POST /clockify/api/v1/workspaces/{workspaceId}/projects
Content-Type: application/json
{
"name": "My Project",
"isPublic": true,
"clientId": "optional-client-id"
}
Update Project
PUT /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}
Content-Type: application/json
{
"name": "Updated Project Name",
"archived": true
}
Delete Project
DELETE /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}
List Clients
GET /clockify/api/v1/workspaces/{workspaceId}/clients
Create Client
POST /clockify/api/v1/workspaces/{workspaceId}/clients
Content-Type: application/json
{
"name": "Client Name",
"address": "123 Main St",
"note": "Client notes"
}
List Tags
GET /clockify/api/v1/workspaces/{workspaceId}/tags
Create Tag
POST /clockify/api/v1/workspaces/{workspaceId}/tags
Content-Type: application/json
{
"name": "urgent"
}
List Tasks on Project
GET /clockify/api/v1/workspaces/{workspaceId}/projects/{projectId}/tasks
Create Task
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
GET /clockify/api/v1/workspaces/{workspaceId}/user/{userId}/time-entries
Create Time Entry
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
GET /clockify/api/v1/workspaces/{workspaceId}/time-entries/{timeEntryId}
Update Time Entry
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
DELETE /clockify/api/v1/workspaces/{workspaceId}/time-entries/{timeEntryId}
Stop Running Timer
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.,
PT1Hfor 1 hour,PT30Mfor 30 minutes) - Cannot delete active projects or tasks - must archive them first
- Page-based pagination with
pageandpage-sizequery parameters - Response includes
Last-Pageheader indicating if more pages exist - Rate limit: 50 requests per second per workspace