用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill clockify-api命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | clockify-api |
| description | Clockify API integration patterns and key endpoints Use when this capability is needed. |
| metadata | {"author":"dimitri-vs"} |
Quick reference for working with Clockify's REST API.
Use X-Api-Key header for all requests:
headers: {
'X-Api-Key': apiKey,
'Content-Type': 'application/json'
}
For subdomain workspaces (e.g., subdomain.clockify.me), generate a workspace-specific API key in Profile Settings.
No org-level keys exist. To fetch data for other team members, use an API key from a user with Admin/Owner permissions—that key effectively acts as the "organization key."
https://api.clockify.me/api/v1euc1 (EU), use2 (USA), euw2 (UK), apse2 (AU)
https://euc1.clockify.me/api/v1GET all projects:
GET /workspaces/{workspaceId}/projects
GET single project:
GET /workspaces/{workspaceId}/projects/{projectId}
Query parameters:
hydrated=true - Returns full project data including memberships (default: false)archived=true - Filter archived projectspage=1 - Page number (default: 1)page-size=50 - Results per page (default: 50, max varies)GET all workspace users:
GET /workspaces/{workspaceId}/users
Query parameters:
include-memberships=true - Include user's workspace/project/group membershipsstatus=ACTIVE - Filter by status (PENDING/ACTIVE/DECLINED/INACTIVE/ALL)project-id={projectId} - Users with access to specific projectGET user's time entries:
GET /workspaces/{workspaceId}/user/{userId}/time-entries
POST new time entry:
POST /workspaces/{workspaceId}/time-entries
⚠️ Timezone trap: This endpoint interprets
start/endfilter params as your profile's local time even if you includeZ(UTC), but returns timestamps in UTC. This creates a double-conversion problem. For reliable date filtering, use the Reports API instead (see below).
Base URL: https://reports.api.clockify.me/v1
POST /workspaces/{workspaceId}/reports/summary
POST /workspaces/{workspaceId}/reports/detailed
Use "timeZone": "UTC" in the request body to bypass user profile timezone ambiguity:
{
"dateRangeStart": "2023-01-01T00:00:00Z",
"dateRangeEnd": "2023-01-31T23:59:59Z",
"timeZone": "UTC"
}
Filtering by user: Don't use users: { ids: [...] } in the body—returns empty. Instead, use summaryFilter: { groups: ['USER', 'PROJECT'] } and find the user by _id in groupOne. Projects are in children with duration in seconds.
All API responses return timestamps in UTC (ISO 8601 with Z suffix). The API ignores workspace and user profile timezone settings—convert to local time client-side.
hydrated=true ParameterCritical for project memberships:
memberships array with user assignmentsExample:
// Get project with full membership data
const url = `${baseUrl}/workspaces/${workspaceId}/projects/${projectId}?hydrated=true`;
X-Addon-TokenMost list endpoints support:
page - Page number (1-indexed)page-size - Results per pageProjects support filtering by:
name - Partial match (or strict-name-search=true for exact)clients - Array of client IDsusers - Array of user IDsbillable - Boolean filterAll responses return JSON. Check response status codes:
Converted and distributed by TomeVault — claim your Tome and manage your conversions.