# Leantime API Documentation

This is the complete API documentation for connecting to the Leantime 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 **Leantime connection** — create or choose one in [Connections](https://app.mindcloud.co/credentials). Note its `connectionId`.

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

## Leantime actions

- POST `add-comment` Add Comment
- GET `check-clock-status` Check Clock Status
- POST `create-client` Create Client
- POST `create-milestone` Create Milestone
- POST `create-project` Create Project
- POST `create-sprint` Create Sprint
- POST `create-ticket` Create Ticket
- POST `create-user` Create User
- DELETE `delete-client` Delete Client
- DELETE `delete-file` Delete File
- DELETE `delete-ticket` Delete Ticket
- DELETE `delete-user` Delete User
- POST `duplicate-project` Duplicate Project
- GET `get-client` Get Client
- GET `get-milestone-progress` Get Milestone Progress
- GET `get-project` Get Project
- GET `get-project-progress` Get Project Progress
- GET `get-ticket` Get Ticket
- GET `get-user` Get User
- GET `get-user-by-email` Get User by Email
- GET `list-clients` List Clients
- GET `list-comments` List Comments
- GET `list-files-by-module` List Files By Module
- GET `list-milestones` List Milestones
- GET `list-project-types` List Project Types
- GET `list-projects` List Projects
- GET `list-sprints` List Sprints
- GET `list-status-labels` List Status Labels
- GET `list-subtasks` List Subtasks
- GET `list-ticket-types` List Ticket Types
- GET `list-tickets` List Tickets
- GET `list-time-entries` List Time Entries
- GET `list-users` List Users
- POST `log-time` Log Time
- PUT `move-ticket` Move Ticket
- POST `punch-in` Punch In
- PUT `punch-out` Punch Out
- GET `search-projects` Search Projects
- GET `search-tickets` Search Tickets
- PUT `update-client` Update Client
- PUT `update-milestone` Update Milestone
- PUT `update-project` Update Project
- PUT `update-sprint` Update Sprint
- PUT `update-ticket` Update Ticket
- PUT `update-user` Update User
- POST `upload-file` Upload File
- PUT `upsert-subtask` Upsert Subtask
- POST `upsert-time-entry` Upsert Time Entry
