---
title: Harvest API Integration on Truto
slug: harvest
category: Default
canonical: "https://truto.one/integrations/detail/harvest/"
---

# Harvest API Integration on Truto



**Category:** Default  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Me** — 
- **Roles** — The Role object represents a role of a User.
- **Users** — The User object represents a User.

## How it works

1. **Link your customer's Harvest account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Harvest.** The Proxy API is a 1-to-1 mapping of the Harvest API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate contractor payouts from tracked hours** — A payroll or contractor management SaaS can pull approved time entries and user billing rates from their customers' Harvest accounts to automatically calculate and process payouts — eliminating manual timesheet exports.
- **Sync Harvest users into your platform's directory** — Any B2B SaaS that needs to map external users to internal accounts can use the Unified User Directory API to pull Harvest users and roles, enabling seamless identity matching and permission management.
- **Provision projects and assignments from deal close** — A CRM or professional services automation tool can automatically create Harvest clients, projects, and user assignments when a deal is won, so delivery teams can start tracking time immediately without manual setup.
- **Ingest time and project data for profitability dashboards** — BI and analytics SaaS platforms can continuously pull time entries, project budgets, and expense data from Harvest to build real-time margin and utilization reports alongside revenue data from other sources.
- **Enable embedded time tracking from within your product** — Project management, ticketing, or developer tools can let their users start and stop Harvest timers directly from their UI, logging time entries with external references that link back to the originating ticket or task.

## What you can build

- **Harvest user and role sync via Unified User Directory** — Pull Harvest users, roles, and capacity data into your platform using Truto's Unified User Directory API to map identities and manage access.
- **Automated timesheet ingestion pipeline** — Periodically fetch filtered time entries (by date range, billed status, or user) to feed payroll calculations, invoicing workflows, or project health dashboards.
- **One-click project and client provisioning** — Automatically create Harvest clients, projects, and user assignments from events in your product — like closing a deal or kicking off an onboarding workflow.
- **Embedded start/stop timer with external reference linking** — Let users log Harvest time entries directly from your UI, passing your entity ID and permalink into Harvest's external_reference field for full traceability.
- **Invoice status sync for client portals** — Pull Harvest invoices and payment statuses into your product so end-clients see up-to-date billing information, and push payment confirmations back to keep Harvest in sync.
- **Team utilization and capacity overview** — Combine Harvest user capacity data with logged time entries to surface real-time utilization percentages and flag over- or under-allocated team members.

## FAQs

### What authentication method does Harvest use?

Harvest supports OAuth 2.0 for third-party integrations. Truto handles the full OAuth flow, token storage, and automatic refresh so your team doesn't need to manage credentials or deal with token expiry.

### Which Unified APIs does Truto support for Harvest today?

Truto currently maps Harvest to the Unified User Directory API, covering Me, Roles, and Users resources. Additional Harvest-specific tools and unified models can be built on request.

### Can I access Harvest data beyond users and roles through Truto?

Yes. While the Unified User Directory API is available out of the box, Truto can build custom tools on request to cover Harvest's full API surface — including time entries, projects, clients, invoices, expenses, and user assignments.

### Does Harvest impose API rate limits?

Harvest's API enforces a rate limit of 100 requests per 15 seconds per access token. Truto manages request pacing and pagination automatically so your integration stays within these limits without manual throttling.

### Can I filter Harvest time entries by date or billing status?

Harvest's API supports filtering time entries by date range (from/to), user, project, client, and billed status (is_billed). Once the time entries tool is enabled, Truto passes these filters through so you can pull exactly the data you need.

### How does Harvest distinguish between employees and contractors?

Each Harvest user object includes an is_contractor boolean and a roles attribute. This data is accessible through the Unified User Directory API, making it straightforward to segment users by employment type for payroll or compliance workflows.
