# Clockify API Documentation

This is the complete API documentation for connecting to the Clockify API using MindCloud's Universal API.

MindCloud offers one normalized API to access 3,400+ apps from a single place. It centralizes authentication and normalizes app APIs so they are easier and more consistent to use.

## Quickstart

1. A **MindCloud account** — sign in or create an account at [MindCloud](https://app.mindcloud.co).
2. A **MindCloud API Key** — create one in [API Keys](https://app.mindcloud.co/user/api-keys). Keep it on your server.
3. At least one **Clockify connection** — create or choose one in [Connections](https://app.mindcloud.co/credentials). Note its `connectionId`.

```text
POST https://connect.mindcloud.co/v2/universal/apps/clockify/actions/{actionSlug}/run
```

## Clockify actions

- POST `add-manager-role-to-user` Add Manager Role to User
- POST `add-user-to-workspace` Add User to Workspace
- PUT `add-users-to-group` Add Users to Group
- PUT `add-users-to-project` Add Users to Project
- PUT `archive-expense-category` Archive Expense Category
- PUT `change-invoice-status` Change Invoice Status
- PUT `change-policy-status` Change Policy Status
- PUT `change-recurring-period` Change Recurring Period
- PUT `change-time-off-request-status` Change Time Off Request Status
- POST `copy-scheduled-assignment` Copy Scheduled Assignment
- POST `create-expense` Create Expense
- POST `create-expense-category` Create Expense Category
- POST `create-group` Create Group
- POST `create-holiday` Create Holiday
- POST `create-invoice` Create Invoice
- POST `create-invoice-payment` Create Invoice Payment
- POST `create-project` Create Project
- POST `create-project-task` Create Project Task
- POST `create-recurring-assignment` Create Recurring Assignment
- POST `create-shared-report` Create Shared Report
- POST `create-time-entry` Create Time Entry
- POST `create-time-off-policy` Create Time Off Policy
- POST `create-time-off-request` Create Time Off Request
- POST `create-user-time-entry` Create User Time Entry
- POST `create-user-time-off-request` Create User Time Off Request
- POST `create-webhook` Create Webhook
- POST `create-workspace` Create Workspace
- POST `create-workspace-client` Create Workspace Client
- POST `create-workspace-custom-field` Create Workspace Custom Field
- POST `create-workspace-tag` Create Workspace Tag
- DELETE `delete-client` Delete Client
- DELETE `delete-custom-field` Delete Custom Field
- DELETE `delete-expense` Delete Expense
- DELETE `delete-expense-category` Delete Expense Category
- DELETE `delete-group` Delete Group
- DELETE `delete-holiday` Delete Holiday
- DELETE `delete-invoice` Delete Invoice
- DELETE `delete-invoice-payment` Delete Invoice Payment
- DELETE `delete-policy` Delete Policy
- DELETE `delete-project` Delete Project
- DELETE `delete-project-task` Delete Project Task
- DELETE `delete-recurring-assignment` Delete Recurring Assignment
- DELETE `delete-shared-report` Delete Shared Report
- DELETE `delete-tag` Delete Tag
- DELETE `delete-time-off-request` Delete Time Off Request
- DELETE `delete-user-time-entries` Delete User Time Entries
- DELETE `delete-webhook` Delete Webhook
- DELETE `delete-workspace-time-entry` Delete Workspace Time Entry
- GET `download-receipt` Download Receipt
- POST `duplicate-invoice` Duplicate Invoice
- POST `duplicate-time-entry` Duplicate Time Entry
- GET `export-invoice` Export Invoice
- GET `generate-attendance-report` Generate Attendance Report
- GET `generate-detailed-report` Generate Detailed Report
- GET `generate-expense-report` Generate Expense Report
- GET `generate-shared-report` Generate Shared Report
- GET `generate-summary-report` Generate Summary Report
- PUT `generate-webhook-token` Generate Webhook Token
- GET `generate-weekly-report` Generate Weekly Report
- GET `get-client` Get Client
- GET `get-current-user` Get Current User
- GET `get-expense` Get Expense
- GET `get-filtered-project-totals` Get Filtered Project Totals
- GET `get-invoice` Get Invoice
- GET `get-invoice-settings` Get Invoice Settings
- GET `get-member-profile` Get Member Profile
- GET `get-policy-balances` Get Policy Balances
- GET `get-project-task` Get Project Task
- GET `get-project-totals` Get Project Totals
- GET `get-tag` Get Tag
- GET `get-time-off-policy` Get Time Off Policy
- GET `get-user-balance` Get User Balance
- GET `get-webhook` Get Webhook
- GET `get-webhook-logs` Get Webhook Logs
- GET `get-workspace` Get Workspace
- GET `get-workspace-project` Get Workspace Project
- GET `get-workspace-time-entry` Get Workspace Time Entry
- GET `get-workspace-user-capacity-total` Get Workspace User Capacity Total
- GET `get-workspace-user-capacity-totals` Get Workspace User Capacity Totals
- GET `list-addon-webhooks` List Addon Webhooks
- GET `list-approval-requests` List Approval Requests
- GET `list-assignments` List Assignments
- GET `list-created-entities-experimental` List Created Entities (Experimental)
- GET `list-deleted-entities-experimental` List Deleted Entities (Experimental)
- GET `list-expense-categories` List Expense Categories
- GET `list-holidays-in-period` List Holidays in Period
- GET `list-in-progress-time-entries` List In-Progress Time Entries
- GET `list-invoice-payments` List Invoice Payments
- GET `list-my-shared-reports` List My Shared Reports
- GET `list-project-custom-fields` List Project Custom Fields
- GET `list-project-tasks` List Project Tasks
- GET `list-updated-entities-experimental` List Updated Entities (Experimental)
- GET `list-user-groups` List User Groups
- GET `list-user-managers` List User Managers
- GET `list-user-time-entries` List User Time Entries
- GET `list-workspace-clients` List Workspace Clients
- GET `list-workspace-custom-fields` List Workspace Custom Fields
- GET `list-workspace-expenses` List Workspace Expenses
- GET `list-workspace-holidays` List Workspace Holidays
- GET `list-workspace-invoices` List Workspace Invoices
- GET `list-workspace-policies` List Workspace Policies
- GET `list-workspace-projects` List Workspace Projects
- GET `list-workspace-tags` List Workspace Tags
- GET `list-workspace-users` List Workspace Users
- GET `list-workspace-webhooks` List Workspace Webhooks
- GET `list-workspaces` List Workspaces
- PUT `mark-time-entries-as-invoiced` Mark Time Entries as Invoiced
- PUT `publish-assignments` Publish Assignments
- DELETE `remove-manager-role-from-user` Remove Manager Role from User
- DELETE `remove-project-custom-field` Remove Project Custom Field
- DELETE `remove-user-from-group` Remove User from Group
- PUT `replace-time-entries` Replace Time Entries
- POST `resubmit-entries-and-expenses-for-approval` Resubmit Entries and Expenses for Approval
- POST `resubmit-user-entries-and-expenses-for-approval` Resubmit User Entries and Expenses for Approval
- GET `search-invoices` Search Invoices
- GET `search-workspace-time-off-requests` Search Workspace Time Off Requests
- GET `search-workspace-users` Search Workspace Users
- PUT `stop-user-running-timer` Stop User Running Timer
- POST `submit-approval-request` Submit Approval Request
- POST `submit-user-approval-request` Submit User Approval Request
- PUT `update-approval-request` Update Approval Request
- PUT `update-balance` Update Balance
- PUT `update-expense` Update Expense
- PUT `update-expense-category` Update Expense Category
- PUT `update-group` Update Group
- PUT `update-holiday` Update Holiday
- PUT `update-invoice` Update Invoice
- PUT `update-invoice-settings` Update Invoice Settings
- PUT `update-member-profile` Update Member Profile
- PUT `update-policy` Update Policy
- PUT `update-project` Update Project
- PUT `update-project-custom-field` Update Project Custom Field
- PUT `update-project-estimate` Update Project Estimate
- PUT `update-project-memberships` Update Project Memberships
- PUT `update-project-task` Update Project Task
- PUT `update-project-template` Update Project Template
- PUT `update-project-user-cost-rate` Update Project User Cost Rate
- PUT `update-project-user-hourly-rate` Update Project User Hourly Rate
- PUT `update-recurring-assignment` Update Recurring Assignment
- PUT `update-shared-report` Update Shared Report
- PUT `update-tag` Update Tag
- PUT `update-task-cost-rate` Update Task Cost Rate
- PUT `update-task-hourly-rate` Update Task Hourly Rate
- PUT `update-time-entry` Update Time Entry
- PUT `update-user-cost-rate` Update User Cost Rate
- PUT `update-user-custom-field` Update User Custom Field
- PUT `update-user-hourly-rate` Update User Hourly Rate
- PUT `update-user-status` Update User Status
- PUT `update-webhook` Update Webhook
- PUT `update-workspace-client` Update Workspace Client
- PUT `update-workspace-cost-rate` Update Workspace Cost Rate
- PUT `update-workspace-custom-field` Update Workspace Custom Field
- PUT `update-workspace-hourly-rate` Update Workspace Hourly Rate
- POST `upload-image` Upload Image
