> ## Documentation Index
> Fetch the complete documentation index at: https://kliio.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# API Reference

> Overview of all Kliio API endpoints

## Resources

The Kliio API is organized around the following resources:

| Resource                                         | Description                                         |
| ------------------------------------------------ | --------------------------------------------------- |
| [Me](/api-reference/me)                          | Retrieve details about the authenticated account    |
| [Clients](/api-reference/clients/list)           | Manage your client contacts                         |
| [Invoices](/api-reference/invoices/list)         | Create and manage invoices                          |
| [Quotes](/api-reference/quotes/list)             | Create and manage quotes                            |
| [Projects](/api-reference/projects/list)         | List your projects                                  |
| [Tasks](/api-reference/tasks/list)               | Create and manage tasks, including phase assignment |
| [Time Entries](/api-reference/time-entries/list) | Track billable hours                                |

## Pagination

List endpoints that support pagination return a `pagination` object alongside `data`:

```json theme={null}
{
  "data": [ ... ],
  "pagination": {
    "total": 120,
    "limit": 50,
    "offset": 0
  }
}
```

Use the `limit` (max `100`) and `offset` query parameters to page through results.

## Filtering

Most list endpoints accept query parameters to filter results. Common filters:

| Parameter   | Type      | Description                                |
| ----------- | --------- | ------------------------------------------ |
| `client_id` | `string`  | Filter by client UUID                      |
| `status`    | `string`  | Filter by resource status                  |
| `limit`     | `integer` | Records per page (default `50`, max `100`) |
| `offset`    | `integer` | Number of records to skip (default `0`)    |

## Project Phases

Projects can be organized into **phases** (e.g. *Discovery*, *Design*, *Development*). Tasks can be assigned to a phase via the `phase_id` field when creating or updating a task. The API returns `phase_id` on task objects when set.

## Custom Statuses

Workspaces can configure custom **project statuses** and **task statuses** through the dashboard. When filtering by `status`, use the values defined in your workspace configuration. Default project statuses include `In Progress`, `Awaiting Approval`, and `Complete`. Default task statuses are `todo`, `in_progress`, and `done`.
