Clockify logo

Clockify

Overview

Clockify is a time-tracking app. Its v1 API uses a per-user API key — free to generate on any Clockify plan, and the key inherits all the user's workspace permissions. A few endpoints (custom_fields, policies) require a paid Clockify plan and return 403 on free workspaces; the rest work on any tier.

Setup guide

Get your API key

  1. Sign in at clockify.me.
  2. Open your Profile Settings (avatar menu, top right) and scroll to the API section.
  3. Click Generate to create a personal API key.
  4. Copy the key value — Clockify shows it once on creation, but you can regenerate later if needed.

Add it to Ingest

In the Ingest UI under Connectors → Clockify, paste the key. Ingest stores it in AWS Secrets Manager under the key api_key. The runtime sends it as the X-Api-Key request header on every call.

Mind the limits

Clockify publishes a 10 req/sec per-API-key cap. The Ingest runtime dispatches conservatively at 5 req/sec by default and uses AIMD backoff on 429s. Errors with status 401 (bad key) or 403 (paid-plan endpoint on a free workspace) are treated as fatal — the request stops without retry.

The connector currently fetches up to 5,000 records per endpoint per parent in a single request (Clockify's API maximum for a single page). Workspaces with more than 5,000 records in any one endpoint will miss the overflow until the runtime gains a 1-indexed page-pagination type — flag this with your Ingest contact if it affects you.

Pick endpoints

The Clockify cascade is rooted at workspaces. Most customers want workspaces, projects, tasks, time_entries, and clients — the core time-tracking dataset. The full set:

  • workspaces, user, workspace_users, groups — identity and structure
  • projects, clients, tags, tasks — work-tracking taxonomy
  • time_entries, time_entries_in_progress — the actual recorded work
  • expenses, expense_categories, invoices — the billing surface
  • approval_requests, holidays — workflow features
  • custom_fields, policies — paid-plan only (403 on free workspaces)

Supported streams

10 endpoints are available out of the box. Each endpoint syncs into its own Iceberg table in Snowflake.

EndpointDescriptionReference
clients
clients
Find all clients on a workspace
groups
groups
Find all user groups on a workspace
holidays
holidays
Get all holidays on a workspace
projects
projects
Get all projects on a workspace
tags
tags
Find all tags on a workspace
tasks
tasks
Find tasks on a project
time_entries
time_entries
Get time entries for a user on a workspace
user
user
workspace_users
workspace_users
Find all users on a workspace
workspaces
workspaces
Get all workspaces for the authenticated user

Authentication

Auth type
API Key
Sent as header
X-Api-Key

Performance & limits

Rate limit
10 req/sec per API key (Ingest dispatches at 5 req/sec by default and lets AIMD tune up). Pagination is 1-indexed page-style; the connector fetches up to 5,000 records per endpoint per parent in a single request.
Automatic backoff
Ingest throttles requests to the published rate limit and retries with exponential backoff on transient errors. You don't need to handle 429s, retries, or pagination yourself.

Resources