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

# Overview

> Manage tasks, appointments, and calendar events in Lofty.

The Task & Calendar API lets you create, update, and track tasks and calendar events associated with leads. Tasks and appointments share a unified namespace in V2 — each endpoint resolves the target by ID regardless of type.

All endpoints require a valid Bearer token in the `Authorization` header. See [Authentication](/authentication/overview) for details.

## Endpoints

### Tasks

| Method   | Path                            | Description                                              |
| -------- | ------------------------------- | -------------------------------------------------------- |
| `GET`    | `/v2.0/tasks`                   | List tasks for a lead                                    |
| `POST`   | `/v2.0/tasks`                   | Create a task or appointment                             |
| `GET`    | `/v2.0/tasks/{taskId}`          | Get a task by ID                                         |
| `PUT`    | `/v2.0/tasks/{taskId}`          | Update a task or appointment                             |
| `DELETE` | `/v2.0/tasks/{taskId}`          | Delete a task or appointment                             |
| `POST`   | `/v2.0/tasks/{taskId}/finish`   | Mark a task as completed                                 |
| `POST`   | `/v2.0/tasks/{taskId}/unfinish` | Reopen a completed task                                  |
| `GET`    | `/v2.0/tasks/my-tasks`          | List tasks and appointments assigned to the current user |

### Calendar

| Method   | Path                                   | Description                  |
| -------- | -------------------------------------- | ---------------------------- |
| `GET`    | `/v2.0/calendar`                       | List calendar events         |
| `POST`   | `/v2.0/calendar`                       | Create a calendar event      |
| `PUT`    | `/v2.0/calendar/{calendarId}`          | Update a calendar event      |
| `DELETE` | `/v2.0/calendar/{calendarId}`          | Delete a calendar event      |
| `POST`   | `/v2.0/calendar/{calendarId}/finish`   | Mark event as completed      |
| `POST`   | `/v2.0/calendar/{calendarId}/unfinish` | Reopen a completed event     |
| `GET`    | `/v2.0/calendar/meetings/available`    | List available meeting slots |

## Legacy (V1)

V1 endpoints are still supported but will not receive new features. **Use V2 for all new integrations.**

| Method   | Path                   | Description       |
| -------- | ---------------------- | ----------------- |
| `GET`    | `/v1.0/tasks`          | List tasks        |
| `POST`   | `/v1.0/tasks`          | Create a task     |
| `GET`    | `/v1.0/tasks/{taskId}` | Get a task by ID  |
| `PUT`    | `/v1.0/tasks/{taskId}` | Update a task     |
| `DELETE` | `/v1.0/tasks/{taskId}` | Delete a task     |
| `GET`    | `/v1.0/appts`          | List appointments |

<Note>
  In V1, tasks and appointments use separate endpoints. V2 unifies them — a single `POST /v2.0/tasks` can create both types, distinguished by a type field.
</Note>

## Related resources

* [Webhooks — Task events](/concepts/webhooks#10-task) — receive real-time notifications on task changes
* [Webhooks — Appointment events](/concepts/webhooks#11-appointment) — receive real-time notifications on appointment changes
