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

# Harvest

> Connect Harvest to your Atako agents — 12 read and 6 write actions.

Let your agents log and review time, manage clients and projects, and draft invoices and reports in your Harvest account.

## Connection

* **Authentication**: OAuth 2.0 (you authorize Atako via Harvest's consent screen; no key to copy) — or a Personal access token you paste in directly, if you prefer not to use OAuth.
* **Required settings**:
  * **Account ID** — Numeric ID, e.g. 1234567 — in the URL of [https://id.getharvest.com/accounts](https://id.getharvest.com/accounts), or shown next to your personal access token (Settings → My profile → Developers).

<Note>
  Go to [https://id.getharvest.com/developers](https://id.getharvest.com/developers) → Create new personal access token → name it and copy the token. The Account ID is shown on the same page, next to the token: paste it in the Account ID field.

  See [Harvest's documentation](https://id.getharvest.com/developers).
</Note>

## Read actions (12)

| Action                          | Description                                                                                                                                                                                                       |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_current_user`              | Get the authenticated user (id, name, email, roles, timezone). Also verifies the credential.                                                                                                                      |
| `get_invoice`                   | Get one invoice with its line items, amounts and state.                                                                                                                                                           |
| `get_project`                   | Get one project (client, billing and budget settings, dates).                                                                                                                                                     |
| `list_clients`                  | List clients, optionally only active (is\_active=true) or archived ones. Paginate with links.next → cursor.                                                                                                       |
| `list_invoices`                 | List invoices, filtered by client\_id, project\_id, state (draft\|open\|paid\|closed), from/to (issue date, YYYY-MM-DD). Paginate with links.next → cursor.                                                       |
| `list_project_task_assignments` | List the tasks assigned to a project — the valid task\_id values for time entries on that project.                                                                                                                |
| `list_projects`                 | List projects, optionally filtered by client\_id and is\_active. Paginate with links.next → cursor.                                                                                                               |
| `list_tasks`                    | List the account task types (Design, Development…). Paginate with links.next → cursor.                                                                                                                            |
| `list_time_entries`             | List time entries, filtered by user\_id, client\_id, project\_id, task\_id, is\_billed, is\_running, approval\_status, from/to (spent date, YYYY-MM-DD). per\_page up to 2000. Paginate with links.next → cursor. |
| `list_users`                    | List users of the account (Administrator, or Manager with assigned teammates, only). Paginate with links.next → cursor.                                                                                           |
| `time_report`                   | Time report totals (hours, billable hours and amounts) between from and to (required), grouped by clients, projects, tasks or team. include\_forecast applies to projects/team only.                              |
| `uninvoiced_report`             | Uninvoiced hours, expenses and amounts per project between from and to (required, at most 365 days apart).                                                                                                        |

## Write actions (6)

| Action              | Description                                                                                                                                                                                                                                                                                                            |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `create_client`     | Create a client: name (required), address (free text, line breaks allowed), currency (ISO code, defaults to the account currency), is\_active.                                                                                                                                                                         |
| `create_invoice`    | Create a free-form draft invoice for client\_id with line\_items \[\{kind (e.g. "Service"), description, quantity, unit\_price, project\_id, taxed, taxed2}]. Optional: subject, notes, number, purchase\_order, currency, issue\_date, due\_date, payment\_term, tax, tax2, discount (percentages). Does not send it. |
| `create_project`    | Create a project for a client. Required: client\_id, name, is\_billable, bill\_by (Project\|Tasks\|People\|none), budget\_by (project\|project\_cost\|task\|task\_fees\|person\|none). Optional: code, hourly\_rate, budget (hours), cost\_budget, is\_fixed\_fee, fee, notes, starts\_on, ends\_on.                   |
| `create_time_entry` | Log time: project\_id, task\_id, spent\_date (YYYY-MM-DD) required. Duration accounts: hours (omit it to start a running timer). Start/end accounts: started\_time/ended\_time like "8:00am". user\_id defaults to the authenticated user.                                                                             |
| `set_timer`         | Stop a running timer (operation "stop") or restart a stopped time entry (operation "restart").                                                                                                                                                                                                                         |
| `update_time_entry` | Update a time entry: project\_id, task\_id, spent\_date, hours, started\_time, ended\_time, notes — only the fields given change.                                                                                                                                                                                      |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*
