Skip to main content

Clockify API Endpoints

Reference for the Clockify REST API endpoints the iPaaS.com Clockify integration uses to read and write clients, members, time entries, approvals and webhooks.

API Endpoints

The Clockify integration uses the Clockify REST API (version 1) to read clients, workspace members, time entries and approval requests, to create and update clients, and to manage the webhooks that notify iPaaS.com of changes (Clockify API documentation, read 2026-11-06).

Base URL:

[API Url]/v1/workspaces/{workspaceId}

The [API Url] value is the API Url subscription setting, and {workspaceId} is the Workspace Id subscription setting. The paths below are relative to this base URL, except the workspace endpoint.

Region

API Url

Global (default)

https://api.clockify.me/api

EU (Germany)

https://euc1.clockify.me/api

USA

https://use2.clockify.me/api

UK

https://euw2.clockify.me/api

Australia

https://apse2.clockify.me/api

Regional addresses per the Clockify API documentation, read 2026-11-06.

Table of Contents

  • Workspace Endpoint

  • Client Endpoints

  • Member Endpoints

  • Time Entry Endpoints

  • Approval Request Endpoints

  • Webhook Endpoints

  • Authentication, Pagination and Rate Limits


Workspace Endpoint

Get Workspace Info (GET)

Reads the workspace before each transfer. It checks that the API key is accepted and that its user belongs to the workspace, and reads the workspace's plan and currencies.

[API Url]/v1/workspaces/{workspaceId}

Client Endpoints

Find Clients on a Workspace (GET)

Lists clients. Used by the client/poll scheduled poll, and to find a client with a company's exact name before a new client is created.

[Base URL]/clients?name={name}&strict-name-search=true&page={page}&page-size={pageSize}

Parameter

Description

name, strict-name-search

Sent only for the name match. Clockify returns clients whose name matches the text; the integration then keeps only the client whose name is exactly the company's name, ignoring case. The poll sends neither.

page, page-size

See Pagination below.

Get a Client by Id (GET)

Reads one client for a transfer TO iPaaS.com, and before an update FROM iPaaS.com so that fields the collection does not map keep their Clockify value.

[Base URL]/clients/{id}

Add a New Client (POST)

Creates a client from an iPaaS.com company, with its name, email, address and note. Clockify allows up to 100 characters in the name and 3,000 in the address and the note.

[Base URL]/clients

Update a Client (PUT)

Updates a client from an iPaaS.com company. It is also used right after a create to set the archived flag or currency, which Clockify accepts only on an update. The request carries every client field (name, email, address, note, archived, currency and cc emails), with unmapped fields set to their current Clockify values.

[Base URL]/clients/{id}

The integration never deletes a Clockify client.


Member Endpoints

Get a Member's Profile (GET)

Reads one member's name, email and picture for a transfer TO iPaaS.com.

[Base URL]/member-profile/{userId}

Find All Users on a Workspace (GET)

Reads members with their workspace status and rates. Used by the member/poll scheduled poll (every member, any status), to read one member's workspace membership by email, and by the time-entry poll to list the members whose time it reads.

[Base URL]/users?email={email}&memberships=WORKSPACE&status=ALL&page={page}&page-size={pageSize}

Parameter

Description

email

Users whose email contains this text.

memberships

WORKSPACE: include each user's workspace membership (status and rates).

status

ALL: include active, inactive, invited (pending) and declined members.

page, page-size

See Pagination below.


Time Entry Endpoints

Get a Time Entry (GET)

Reads one time entry, with its project, client and task names, for a transfer TO iPaaS.com in Time entries mode.

[Base URL]/time-entries/{id}?hydrated=true

Get Time Entries for a User on a Workspace (GET)

Lists one member's completed time entries that started within Timesheet Poll Days. Used by the timesheet/poll scheduled poll in Time entries mode, member by member.

[Base URL]/user/{userId}/time-entries?start={start}&in-progress=false&page={page}&page-size={pageSize}

Parameter

Description

start

The start of the poll window, in yyyy-MM-ddThh:mm:ssZ format.

in-progress

false: the list is not limited to running timers. The integration then leaves out any entry that is still running; it is sent when the timer stops.

page, page-size

See Pagination below.


Approval Request Endpoints

Get Approval Requests (GET)

Lists weekly approval requests with their time entries, in Approved weeks mode. Used to read one approved or withdrawn week for a transfer, and by the timesheet/poll scheduled poll to list approved weeks.

[Base URL]/approval-requests?status={status}&sort-column=UPDATED_AT&sort-order=DESCENDING&page={page}&page-size={pageSize}

Parameter

Description

status

APPROVED, WITHDRAWN_APPROVAL or PENDING. Clockify does not offer a filter for rejected requests.

sort-column, sort-order

Most recently updated first.

page, page-size

See Pagination below.

Approval requests need timesheet approval in Clockify, which is part of the Standard plan and higher (Clockify pricing, read 2026-11-04).


Webhook Endpoints

Get All Webhooks on a Workspace (GET)

Lists the workspace's webhooks, so that turning a trigger on or off finds this subscription's own webhook.

[Base URL]/webhooks

Create a Webhook (POST)

Creates one Clockify webhook when a webhook trigger is turned on in iPaaS.com. The webhook sends that event for the whole workspace to the subscription's iPaaS.com webhook address, and is named for the subscription.

[Base URL]/webhooks

Delete a Webhook (DELETE)

Removes the subscription's Clockify webhook when its trigger is turned off in iPaaS.com. If the webhook is still listed in Clockify afterwards, a workspace owner or admin can delete it under Preferences > Advanced > Manage webhooks.

[Base URL]/webhooks/{webhookId}

Only workspace owners and admins can create webhooks (Clockify Help Center: API and webhook settings, read 2026-11-06). Clockify limits the number of webhooks per plan: 3 per workspace on Free; 10 per user, up to 100 per workspace, on Basic, Standard and Pro; 100 per user, up to 300 per workspace, on Enterprise (Clockify API documentation, read 2026-11-06).


Authentication, Pagination and Rate Limits

Authentication

There is no separate authorization endpoint or token exchange. Every request carries the subscription's API Key in the X-Api-Key request header (Clockify API documentation, read 2026-11-06). The key must belong to a workspace owner or admin. A workspace on its own Clockify subdomain needs a key generated in that subdomain.

Pagination

List endpoints take page (starting at 1) and page-size (Clockify's default is 50), and answer with a Last-Page response header that is true on the final page (Clockify API documentation, read 2026-11-06). The integration reads page after page until Last-Page is true, or until a page is shorter than the page size. The page size is the Page Size subscription setting.

Rate Limits

Clockify counts requests per workspace: 30 requests per hour on the Free plan, 20 per second on the Basic, Standard and Pro plans, and 50 per second on Enterprise (Clockify API documentation, read 2026-11-06). A request over the limit is answered with HTTP 429 and the message "Too many requests!". When that happens, the transfer stops with CLKF-EXTN-1002. The code and iPaaS.com's message that the transfer will be retried later appear in the transfer's activity log; no error is added to the Error Logs. While the limit lasts, iPaaS.com also holds this subscription's other transfers in the same direction. If the record hasn't arrived an hour or so after the limit frees up, resend it with Manual Sync.

Related Documents

Did this answer your question?