VX Agents

API directory · Productivity & Project Management

Clockify Time Entries & Projects

v1.0.0 · 12 endpoints · 0 connections · shared by vx.ai

Start, stop and log hours in Clockify without opening the app: see what is running across the workspace, pull a person's time entries for a date range, and file new entries against the right client, project, task and tag.

Connect this API to an AI agent Browse all specs

What you can do with Clockify Time Entries & Projects via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
GET /v1/user getCurrentUser Get the user the API key belongs to (id, active workspace)
GET /v1/workspaces listWorkspaces List the workspaces you belong to
GET /v1/workspaces/{workspaceId}/clients listClients List or search clients in a workspace
GET /v1/workspaces/{workspaceId}/projects listProjects List or search projects in a workspace
GET /v1/workspaces/{workspaceId}/projects/{projectId}/tasks listProjectTasks List tasks on a project
GET /v1/workspaces/{workspaceId}/tags listTags List tags in a workspace
GET /v1/workspaces/{workspaceId}/user/{userId}/time-entries listUserTimeEntries List a user's time entries, optionally for a date range or project
PATCH /v1/workspaces/{workspaceId}/user/{userId}/time-entries stopRunningTimer Stop a user's running timer
GET /v1/workspaces/{workspaceId}/time-entries/{id} getTimeEntry Get one time entry
PUT /v1/workspaces/{workspaceId}/time-entries/{id} updateTimeEntry Update a time entry (times, description, project, tags)
GET /v1/workspaces/{workspaceId}/time-entries/status/in-progress listRunningTimers List timers running right now across the workspace
POST /v1/workspaces/{workspaceId}/time-entries createTimeEntry Start a timer or log a finished time entry

Authentication

ApiKeyAuth

API key — sent as the X-Api-Key header

Clockify personal API key, sent in the X-Api-Key header.

How to get a credential

  1. Sign in to Clockify and open Profile settings (avatar, top right).
  2. Scroll to API (Preferences > Advanced in newer layouts) and click Generate (or Manage API keys > Generate new).
  3. Copy the key. It acts as you, with your role in every workspace you belong to.

Permissions used

Access Operations
Any member getCurrentUser, listWorkspaces, listClients, listProjects, listProjectTasks, listTags, listUserTimeEntries (own entries), getTimeEntry, createTimeEntry, updateTimeEntry, stopRunningTimer (own timer)
Workspace admin or owner listRunningTimers, listUserTimeEntries / stopRunningTimer for other users

Common errors

  • 401 Unauthorized: the key is missing or was regenerated; generate a new one in Profile settings.
  • 403 Forbidden: your role cannot see other people's entries or the workspace locked entries before a date.
  • 400 Bad Request: bad ISO date (2026-10-21T09:00:00Z), unknown project/task id, or a required field such as a project is enforced by workspace settings.
  • 429 Too Many Requests: limit is 50 requests per second per workspace; wait and retry.

Data stored in the EU/UK/AU/US regions uses a regional host; the key itself works the same. Store the key as a VX Agents credential for this spec; never paste it into chat.

Usage guide

Setup

  • Credential: a Clockify personal API key (Profile settings > API) in the X-Api-Key header. It acts as you with your workspace role.
  • Worth pinning: workspaceId (from listWorkspaces or activeWorkspace in getCurrentUser) and, for a single-person assistant, userId (the id from getCurrentUser).
  • Workspaces on regional data residency use a regional host (for example https://euc1.clockify.me/api); the default host serves the global region.

Log and review time

  1. getCurrentUser to get your id and active workspace; listWorkspaces if there are several.
  2. listClients, listProjects (filter with name, clients, archived=false), listProjectTasks and listTags to resolve names to ids.
  3. To start a timer, createTimeEntry with start and no end; to log past work, send both start and end, plus projectId, taskId, tagIds, description and billable as needed.
  4. stopRunningTimer with userId and an end time stops whatever is running.
  5. listUserTimeEntries with start/end (and optionally project, description) for a timesheet; in-progress=true returns only the running entry. listRunningTimers shows everyone's running timers (admins only).
  6. getTimeEntry / updateTimeEntry to fix an entry. The update replaces the entry, so send start and every field you want to keep.

Confirm with the user before createTimeEntry, updateTimeEntry or stopRunningTimer: hours feed invoices and payroll.

Good to know

  • All times are UTC ISO 8601 such as 2026-10-21T09:00:00Z; convert from the user's time zone first.
  • Ids are 24-character hex strings; names are not accepted where an id is expected.
  • Lists page with page (from 1) and page-size (default 50).
  • Workspace settings can force a project, task or description, and can lock entries older than a date; those requests fail with 400 or 403.
  • Rate limit: 50 requests per second per workspace.

Source: Clockify API reference (https://docs.clockify.me/), checked 2026-10-21.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Clockify Time Entries & Projects” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs