# Clockify

> Clockify through One

- Skill: `withoneai/clockify` (Agent Skill)
- Install (CLI): `npx skillmds@latest add withoneai/clockify`
- Raw SKILL.md: https://api.skillmd.com/api/skills/withoneai/clockify/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: withoneai (https://skillmd.com/u/withoneai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/withoneai/clockify

---


# Clockify through One

Clockify is a time tracking and timesheet platform that enables teams and businesses to record work hours, manage projects, track billable time, and analyze productivity through web, mobile, and API-based integrations for reporting, payroll, and workflow automation.

One exposes Clockify through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.

## How to run an action

1. Find the action in the table below, or call `search_one_platform_actions` with platform `clockify` if it is not listed.
2. Call `get_one_action_knowledge` with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
3. Call `execute_one_action` with parameters copied from that knowledge.

Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.

## Before you start

Call `list_one_integrations` once and confirm Clockify is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.

Each connection carries an `access` field. If it reports `{"policy": "methods", "methods": ["GET"]}` the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.

## Before a write

Creates, updates, deletes and sends land on a real Clockify account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.

## Actions

### TimeEntries

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Specific Workspace Time Entry | GET | `/api/v1/workspaces/{{workspaceId}}/time-entries/{{id}}` | `conn_mod_def::GLSyN3WF5Hg::Ig7ZV7r2QYuLoxPgdRPLpQ` |
| Get Time Entries for a User on a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/user/{{userId}}/time-entries` | `conn_mod_def::GLSyOCPsd-g::y0O4Ln8-R_OScvJgjfzXrg` |
| Add a New Time Entry for a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/time-entries` | `conn_mod_def::GLSyNeCAClg::XKjjIVypSluVa0YVS96bGg` |
| Bulk Edit Time Entries for a Workspace User | PUT | `/api/v1/workspaces/{{workspaceId}}/user/{{userId}}/time-entries` | `conn_mod_def::GLSyNe-y1VA::ynaqotDcTmGvP_1UuSSGUQ` |
| Delete a User's Time Entries in a Workspace | DELETE | `/api/v1/workspaces/{{workspaceId}}/user/{{userId}}/time-entries` | `conn_mod_def::GLSyNtutrRg::ZhIegOMoRcaa3-K_d5jPGQ` |
| Delete a Workspace Time Entry | DELETE | `/api/v1/workspaces/{{workspaceId}}/time-entries/{{id}}` | `conn_mod_def::GLSyNeJxkYg::pvUB31-lSXSbLi-3yDGzeA` |
| Stop a User's Running Timer in a Workspace | PATCH | `/api/v1/workspaces/{{workspaceId}}/user/{{userId}}/time-entries` | `conn_mod_def::GLSyOKrLlVA::jPl-pvzMTiSPVHRH5hMa6A` |
| Update a Workspace Time Entry | PUT | `/api/v1/workspaces/{{workspaceId}}/time-entries/{{id}}` | `conn_mod_def::GLSyOK0T33A::byK0f8imSjWfU1e0TuoZ-g` |

### Workspaces

| Action | Method | Path | Action id |
|---|---|---|---|
| Get My Workspaces | GET | `/api/v1/workspaces` | `conn_mod_def::GLSyJA7hPrA::GeWgXWr0Rte1e8nHv1CjjA` |
| Get Workspace Info | GET | `/api/v1/workspaces/{{workspaceId}}` | `conn_mod_def::GLSyJByLF-g::VnmAfntDQbmvwlDuSeQkwA` |
| Add a Workspace | POST | `/api/v1/workspaces` | `conn_mod_def::GLSyImIiA2g::2tG7_L66QlOeYufiTUA3bw` |
| Add User to a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/users` | `conn_mod_def::GLSyI33XOYg::uzlbGeQ8TLuf6_AlDxirjA` |
| Update Workspace Billable Rate | PUT | `/api/v1/workspaces/{{workspaceId}}/hourly-rate` | `conn_mod_def::GLSyJcOq5wA::5EjXTcYYTtCr_qFyktlRXw` |
| Update Workspace Cost Rate | PUT | `/api/v1/workspaces/{{workspaceId}}/cost-rate` | `conn_mod_def::GLSyJcdfipA::XJBZCHEWTPqJp9GJP-KGIg` |

### Invoices

| Action | Method | Path | Action id |
|---|---|---|---|
| Get an Invoice by ID for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/invoices/{{invoiceId}}` | `conn_mod_def::GLSyLFm6ijg::gPjMVT6uS02NLXWoFswE1A` |
| Add an Invoice for a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/invoices` | `conn_mod_def::GLSyKtt_eyA::peFHhxOjQj2aHQ0gHPNyhQ` |
| Add Item to an Invoice | POST | `/api/v1/workspaces/{{workspaceId}}/invoices/{{invoiceId}}/items` | `conn_mod_def::GLSyKu2YZng::GD3ZtaDUS5aEcElhFlGUTw` |
| Delete an Invoice in a Workspace | DELETE | `/api/v1/workspaces/{{workspaceId}}/invoices/{{invoiceId}}` | `conn_mod_def::GLSyK3syfeg::pW7x-4ORRGiQQMwUtePGAg` |
| Delete an Invoice Item in a Workspace | DELETE | `/api/v1/workspaces/{{workspaceId}}/invoices/{{invoiceId}}/items/{{order}}` | `conn_mod_def::GLSyK39EdBg::kJNIoVK1QGm2OqlXBPKTnA` |
| Filter Out Invoices for a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/invoices/info` | `conn_mod_def::GLSyLG4ENFg::rS-AdcFbSOOD49xGHosayw` |

### ApprovalRequests

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Approval Requests for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/approval-requests` | `conn_mod_def::GLSyIZjm99g::Z-t25tC4Q_OWETc-leDbtA` |
| Resubmit Entries for Approval | POST | `/api/v1/workspaces/{{workspaceId}}/approval-requests/resubmit-entries-for-approval` | `conn_mod_def::GLSyIK_5IZA::JRZkzfRDRWCowpAnKchALA` |
| Submit an Approval Request for a User | POST | `/api/v1/workspaces/{{workspaceId}}/approval-requests/users/{{userId}}` | `conn_mod_def::GLSyIeXlZvA::gI8mtjBmRtWgPYKsZozi3A` |
| Submit Approval Request for a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/approval-requests` | `conn_mod_def::GLSyIIXxcRg::OImWADYLQQiwiY2CB6luag` |
| Update an Approval Request | PATCH | `/api/v1/workspaces/{{workspaceId}}/approval-requests/{{approvalRequestId}}` | `conn_mod_def::GLSyImZOQCg::8PPOz8qhSwS383zzqftiBQ` |

### Webhooks

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Webhook by ID for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/webhooks/{{webhookId}}` | `conn_mod_def::GLSyO2g6elA::9VpwRFvQQsenFCURAyfX8w` |
| List a Workspace's Webhooks | GET | `/api/v1/workspaces/{{workspaceId}}/webhooks` | `conn_mod_def::GLSyPCvqYRg::rfhYuchnRUWyd0apPrlJBA` |
| Create a Webhook for a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/webhooks` | `conn_mod_def::GLSyOstGZMA::De4EMaFlQgK4917yhwp_ig` |
| Delete a Workspace Webhook | DELETE | `/api/v1/workspaces/{{workspaceId}}/webhooks/{{webhookId}}` | `conn_mod_def::GLSyOszw2KA::B633QgQvQj6IFUxLsIfILQ` |
| Generate a New Webhook Token | PATCH | `/api/v1/workspaces/{{workspaceId}}/webhooks/{{webhookId}}/token` | `conn_mod_def::GLSyOtdu9Sg::wLa0QaJORyWLM1E3c0ic0g` |

### TimeOffRequests

| Action | Method | Path | Action id |
|---|---|---|---|
| Change Time Off Request Status | PATCH | `/api/v1/workspaces/{{workspaceId}}/time-off/policies/{{policyId}}/requests/{{requestId}}` | `conn_mod_def::GLSyOLXBrLA::jvv3AktnQRe99vPCOMMiRg` |
| Create a Time Off Request for a Workspace Policy | POST | `/api/v1/workspaces/{{workspaceId}}/time-off/policies/{{policyId}}/requests` | `conn_mod_def::GLSyOLCbf5A::xaPc9oeaSeuigbQ06IwuLA` |
| Create a User Time Off Request for a Policy in a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/time-off/policies/{{policyId}}/users/{{userId}}/requests` | `conn_mod_def::GLSyOPNktkg::eI_190wvRW-c-j2W4IP9Bw` |
| Delete a Time Off Request | DELETE | `/api/v1/workspaces/{{workspaceId}}/time-off/policies/{{policyId}}/requests/{{requestId}}` | `conn_mod_def::GLSyOXdekfg::Swk7pYkGRyyM43WG5VGvLA` |
| Get All Time Off Requests on a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/time-off/requests` | `conn_mod_def::GLSyOYa9eeg::Kdrorgo6QOCuudftX1qX5g` |

### Holidays

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Holidays for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/holidays` | `conn_mod_def::GLSyKkYOCOA::1IzAkuafRNy0zP6l59brdw` |
| Get Holidays in a Workspace for a Specific Period | GET | `/api/v1/workspaces/{{workspaceId}}/holidays/in-period` | `conn_mod_def::GLSyKlide_g::J2bl7a9RTGGWuUcDrd5AKA` |
| Create a Holiday in a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/holidays` | `conn_mod_def::GLSyKkJAxKA::C7jkxXORQ-28tXIr_zZ4pg` |
| Delete a Workspace Holiday | DELETE | `/api/v1/workspaces/{{workspaceId}}/holidays/{{holidayId}}` | `conn_mod_def::GLSyKkApDBg::xPTVMXBHRrm1fuKryHbnTA` |

### Expenses

| Action | Method | Path | Action id |
|---|---|---|---|
| Get All Expenses on a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/expenses` | `conn_mod_def::GLSyKPKKpQg::OT5F0QbUQWqnTWsqHSuz6A` |
| Create an Expense in a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/expenses` | `conn_mod_def::GLSyKFCQZag::QlF7frDBQviTxd_5R-HMlw` |
| Delete an Expense in a Workspace | DELETE | `/api/v1/workspaces/{{workspaceId}}/expenses/{{expenseId}}` | `conn_mod_def::GLSyKEVxRmA::z85i7LudSjeJoZOhFxUIpg` |
| Update an Expense in a Workspace | PUT | `/api/v1/workspaces/{{workspaceId}}/expenses/{{expenseId}}` | `conn_mod_def::GLSyKOAiq2g::V7t-nPx3SqeGFIBeReeRjQ` |

### WorkspaceUsers

| Action | Method | Path | Action id |
|---|---|---|---|
| List Workspace Users | GET | `/api/v1/workspaces/{{workspaceId}}/users` | `conn_mod_def::GLSyOa27UXg::slLcot8wTAKoQHnB4T0lnw` |
| Filter Workspace Users | POST | `/api/v1/workspaces/{{workspaceId}}/users/info` | `conn_mod_def::GLSyOYGKQPA::62NR3QViQ3WVQTyMFC18aw` |
| Remove a User from a Workspace | DELETE | `/api/v1/workspaces/{{workspaceId}}/users/{{userId}}` | `conn_mod_def::GLSyJT-uSEg::eoQfiZqTRl6f8uYvW_HMEA` |
| Update a User's Status in a Workspace | PUT | `/api/v1/workspaces/{{workspaceId}}/users/{{userId}}` | `conn_mod_def::GLSyJTapJ5A::dYtg6qsESKmVvcHqR3_AUA` |

### Tags

| Action | Method | Path | Action id |
|---|---|---|---|
| Find Tags in a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/tags` | `conn_mod_def::GLSyM4PlvEA::TedXikQXSGuJy1xp0vVtAw` |
| Add a New Tag for a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/tags` | `conn_mod_def::GLSyMquCMnA::OLYGqSy_QZyBrBX40TssPg` |
| Delete a Workspace Tag | DELETE | `/api/v1/workspaces/{{workspaceId}}/tags/{{id}}` | `conn_mod_def::GLSyMpNKF-A::miC_FXWaRxOxmTz5oJujnw` |
| Update a Workspace Tag | PUT | `/api/v1/workspaces/{{workspaceId}}/tags/{{id}}` | `conn_mod_def::GLSyM2kHRYg::5VP8os1KQSGlzFz3TYeEVw` |

### Clients

| Action | Method | Path | Action id |
|---|---|---|---|
| Find Clients on a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/clients` | `conn_mod_def::GLSyJpobqVA::3p_svfIMQyaFJ6aGAaf9pA` |
| Create a Workspace Client | POST | `/api/v1/workspaces/{{workspaceId}}/clients` | `conn_mod_def::GLSyJm9v8Kg::m7CGMXKPSp2dGgxjNBt9Eg` |
| Update a Workspace Client | PUT | `/api/v1/workspaces/{{workspaceId}}/clients/{{id}}` | `conn_mod_def::GLSyJ6SqO4g::JgHB0Rw4TjqNupYRl9iV7w` |

### WorkspaceCustomFields

| Action | Method | Path | Action id |
|---|---|---|---|
| Create a Workspace Custom Field | POST | `/api/v1/workspaces/{{workspaceId}}/custom-fields` | `conn_mod_def::GLSyIpjEOCg::mFZiK9k7TmeIu1TJ-vWMQQ` |
| Delete a Workspace Custom Field | DELETE | `/api/v1/workspaces/{{workspaceId}}/custom-fields/{{customFieldId}}` | `conn_mod_def::GLSyImlLX0A::D-I9MzxCQg6j24sRzZOQuQ` |
| Update a Workspace Custom Field | PUT | `/api/v1/workspaces/{{workspaceId}}/custom-fields/{{customFieldId}}` | `conn_mod_def::GLSyJdNrBag::QZ9kBoPkSyWTLrGhey8MXA` |

### Users

| Action | Method | Path | Action id |
|---|---|---|---|
| Find a User's Team Managers | GET | `/api/v1/workspaces/{{workspaceId}}/users/{{userId}}/managers` | `conn_mod_def::GLSyOku8cgg::KDfEbPZJQLms8RpgjVHYEA` |
| Update a User's Cost Rate | PUT | `/api/v1/workspaces/{{workspaceId}}/users/{{userId}}/cost-rate` | `conn_mod_def::GLSyJTVRfwA::Bu_KPAReTjaYWdN9NOxPqg` |
| Update a User's Hourly Rate in a Workspace | PUT | `/api/v1/workspaces/{{workspaceId}}/users/{{userId}}/hourly-rate` | `conn_mod_def::GLSyJTtw8KA::VrhTEwehT0SibkF2gZjgew` |

### RecurringAssignments

| Action | Method | Path | Action id |
|---|---|---|---|
| Create a Recurring Assignment for a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/scheduling/assignments/recurring` | `conn_mod_def::GLSyMPjDaZg::lLxUTWUiQK62nQ7saWMRJQ` |
| Delete a Recurring Assignment in a Workspace | DELETE | `/api/v1/workspaces/{{workspaceId}}/scheduling/assignments/recurring/{{assignmentId}}` | `conn_mod_def::GLSyL8PjjxA::8fsQSIZ5RpeUzDt59tZaMQ` |
| Update a Recurring Assignment in a Workspace | PATCH | `/api/v1/workspaces/{{workspaceId}}/scheduling/assignments/recurring/{{assignmentId}}` | `conn_mod_def::GLSyMt2QveA::-CJK8IkZTAqXHdD_LGk6dg` |

### Tasks

| Action | Method | Path | Action id |
|---|---|---|---|
| Find Tasks on a Project | GET | `/api/v1/workspaces/{{workspaceId}}/projects/{{projectId}}/tasks` | `conn_mod_def::GLSyNI-1NtA::PQR3R85lTxCGuM4SVU33mw` |
| Create a Task for a Project in a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/projects/{{projectId}}/tasks` | `conn_mod_def::GLSyM7eT0pg::Wo-jDs64Qhq4oLNtKz562w` |
| Update Task Cost Rate | PUT | `/api/v1/workspaces/{{workspaceId}}/projects/{{projectId}}/tasks/{{id}}/cost-rate` | `conn_mod_def::GLSyND8Dh6A::YHBYPYAXRcW7DOAkEl6-tg` |

### Balances

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Balance for a User | GET | `/api/v1/workspaces/{{workspaceId}}/time-off/balance/user/{{userId}}` | `conn_mod_def::GLSyJeis_jA::pqN0jhVVTHGyaDvIVJh2lg` |
| Get Balances for a Policy in a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/time-off/balance/policy/{{policyId}}` | `conn_mod_def::GLSyJew1_eA::6nvQbGR8SWuwo5nZkqWH8g` |

### Projects

| Action | Method | Path | Action id |
|---|---|---|---|
| Create a Workspace Project | POST | `/api/v1/workspaces/{{workspaceId}}/projects` | `conn_mod_def::GLSyLZKYPoA::lPMhRnxTQEispnfSomku1Q` |
| Remove a Custom Field from a Project | DELETE | `/api/v1/workspaces/{{workspaceId}}/projects/{{projectId}}/custom-fields/{{customFieldId}}` | `conn_mod_def::GLSyJBF8wYA::ZI-ncBsnSY2wgizSBA-t-Q` |

### ProjectCustomFields

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Project Custom Fields | GET | `/api/v1/workspaces/{{workspaceId}}/projects/{{projectId}}/custom-fields` | `conn_mod_def::GLSyJJdvjtA::P905MvF7SZq9zZi21cncdw` |
| Update a Project Custom Field Using Workspace, Project, and Custom Field IDs | PATCH | `/api/v1/workspaces/{{workspaceId}}/projects/{{projectId}}/custom-fields/{{customFieldId}}` | `conn_mod_def::GLSyJTZOGvg::vAJ3ubAPSf-SPA0gJTh8Mg` |

### ExpenseCategories

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Expense Categories for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/expenses/categories` | `conn_mod_def::GLSyKQ6ItMA::ZvN8MdapTPyza4O7pg1r5w` |
| Delete an Expense Category in a Workspace | DELETE | `/api/v1/workspaces/{{workspaceId}}/expenses/categories/{{categoryId}}` | `conn_mod_def::GLSyKFjXCMA::x5-B4v6fSY6F7MlWG6qi4w` |

### ProjectAssignmentTotals

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Project Assignment Totals for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/scheduling/assignments/projects/totals` | `conn_mod_def::GLSyMeo6VrA::P0A6x6JGRkeqOFSmeeZINg` |
| Get Project Assignment Totals for a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/scheduling/assignments/projects/totals` | `conn_mod_def::GLSyMeystkA::Ez76N1n7Tki0_kaUjgLWXQ` |

### MemberProfile

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Member's Profile in a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/member-profile/{{userId}}` | `conn_mod_def::GLSyOjE2oqA::FwTXXKdhRNOiPdAJYW-weA` |
| Update a Member's Profile Using Workspaces Member Profile | PATCH | `/api/v1/workspaces/{{workspaceId}}/member-profile/{{userId}}` | `conn_mod_def::GLSyOuR7JwA::0DnihdIMTPauwoU1qXJ8Zg` |

### UpdatedEntities

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Updated Entities for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/entities/updated` | `conn_mod_def::GLSyJ7ljqvA::qwbSTWsST8uj2UFqMQR_AA` |

### TimeOffPolicies

| Action | Method | Path | Action id |
|---|---|---|---|
| Change a Time-off Policy Status in a Workspace | PATCH | `/api/v1/workspaces/{{workspaceId}}/time-off/policies/{{id}}` | `conn_mod_def::GLSyLPrhulg::q4p7OPsyTJ2k5QS2F6tvrA` |

### UserGroups

| Action | Method | Path | Action id |
|---|---|---|---|
| List User Groups for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/user-groups` | `conn_mod_def::GLSyKcdqqYA::pWzsCPqWRvmmIbROxzwB1Q` |

### InvoicePayments

| Action | Method | Path | Action id |
|---|---|---|---|
| Add Payment to an Invoice in a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/invoices/{{invoiceId}}/payments` | `conn_mod_def::GLSyKtnzn0g::FrNO0u7lTCmFXMO4erfLvQ` |

### CustomFields

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Custom Fields on a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/custom-fields` | `conn_mod_def::GLSyJLGT-KA::7z7kc1PbRxK6pmFrlrpBeg` |

### DeletedEntities

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Deleted Entities for a Workspace | GET | `/api/v1/workspaces/{{workspaceId}}/entities/deleted` | `conn_mod_def::GLSyJ6F139A::HHQoQ1hFS0Gqu2ssm7d0fg` |

### WorkspaceWebhooks

| Action | Method | Path | Action id |
|---|---|---|---|
| Update a Workspace Webhook | PUT | `/api/v1/workspaces/{{workspaceId}}/webhooks/{{webhookId}}` | `conn_mod_def::GLSyO2ljeZA::_HeR_mvAQsuuXls2dxOTuA` |

### UserRoles

| Action | Method | Path | Action id |
|---|---|---|---|
| Give a User a Manager Role in a Workspace | POST | `/api/v1/workspaces/{{workspaceId}}/users/{{userId}}/roles` | `conn_mod_def::GLSyOk91FQg::kc6KdAr7QD-nwn6EMZ1jGw` |

### User

| Action | Method | Path | Action id |
|---|---|---|---|
| Get the Current Logged-In User's Info | GET | `/user` | `conn_mod_def::GLSyOj4s5zA::X7yJ21t6TA-NxFmVx1NOrQ` |

### WorkspaceAssignmentSeries

| Action | Method | Path | Action id |
|---|---|---|---|
| Change the Recurring Period for a Workspace Assignment Series | PUT | `/api/v1/workspaces/{{workspaceId}}/scheduling/assignments/series/{{assignmentId}}` | `conn_mod_def::GLSyL7sHvJA::6NdiFIJcTDKt6m4xNqwyXA` |

### WorkspaceUserTotals

| Action | Method | Path | Action id |
|---|---|---|---|
| Get User Totals for a Workspace User | GET | `/api/v1/workspaces/{{workspaceId}}/scheduling/assignments/users/{{userId}}/totals` | `conn_mod_def::GLSyMhxjfqA::nWQQtIB1TiGsuopiDJY7FA` |

### ProjectTotals

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Project Totals for a Single Project | GET | `/api/v1/workspaces/{{workspaceId}}/scheduling/assignments/projects/totals/{{projectId}}` | `conn_mod_def::GLSyMcQDOiA::a2nQ6HaySAShOe4zJ16WgQ` |

This lists 90 of 155 actions. For anything not here, call `search_one_platform_actions` with platform `clockify`. The full catalog is at https://www.withone.ai/knowledge/clockify.

## When a call fails

The error comes from Clockify, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.

Full catalog: https://www.withone.ai/knowledge/clockify

Integration knowledge by One (withone.ai), licensed under [One-Knowledge-1.0](https://www.withone.ai/licenses/knowledge). Attribution must be preserved in derivative works.

