Harvest 2.4.7-beta
dotnet add package Harvest --version 2.4.7-beta
NuGet\Install-Package Harvest -Version 2.4.7-beta
<PackageReference Include="Harvest" Version="2.4.7-beta" />
<PackageVersion Include="Harvest" Version="2.4.7-beta" />
<PackageReference Include="Harvest" />
paket add Harvest --version 2.4.7-beta
#r "nuget: Harvest, 2.4.7-beta"
#:package Harvest@2.4.7-beta
#addin nuget:?package=Harvest&version=2.4.7-beta&prerelease
#tool nuget:?package=Harvest&version=2.4.7-beta&prerelease
Harvest.Api
A .NET wrapper for the Harvest time tracking API.
Installation
Install the package via NuGet:
dotnet add package Harvest
Or via the Package Manager Console:
Install-Package Harvest
Getting Started
Authentication
To use the Harvest API, you'll need:
- An Account ID - Found in Harvest under Settings > Choose Integrations > Authorized OAuth2 API Clients
- An Access Token - Create a Personal Access Token in the same location
Basic Usage
using Harvest;
// Create a client
var harvestClient = new HarvestClient(
accountId: 123456,
accessToken: "your-access-token"
);
// Get current user
var me = await harvestClient.Users.GetMeAsync();
Console.WriteLine($"Hello, {me.FirstName}!");
// List all clients
var clientsContainer = await harvestClient.Clients.ListAllAsync();
foreach (var client in clientsContainer.Clients)
{
Console.WriteLine($"Client: {client.Name}");
}
// List all projects
var projectsContainer = await harvestClient.Projects.ListAllAsync();
foreach (var project in projectsContainer.Projects)
{
Console.WriteLine($"Project: {project.Name}");
}
// Create a time entry
var timeEntry = await harvestClient.TimeEntries.CreateAsync(new TimeEntryCreationDto
{
ProjectId = 12345678,
TaskId = 87654321,
SpentDate = "2025-01-15",
Hours = 2.5m,
Notes = "Working on feature X"
});
Available APIs
The HarvestClient provides access to the following API endpoints:
| Property | Description |
|---|---|
Clients |
Manage clients |
Companies |
Access company information |
Projects |
Manage projects |
ProjectTaskAssignments |
Manage task assignments for projects |
Tasks |
Manage tasks |
TimeEntries |
Create, update, and delete time entries |
Users |
Manage users |
UserProjectAssignments |
Manage project assignments for users |
Proxy Support
If you need to route requests through a proxy:
var harvestClient = new HarvestClient(
accountId: 123456,
accessToken: "your-access-token",
proxyUrl: "http://proxy.example.com:8080"
);
API Documentation
For full API documentation, refer to the official Harvest API v2 Documentation.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License.
Acknowledgments
This library was forked from projects by:
- Joel Potter
- Data Research Group
- Paul Irwin
Maintained by Panoramic Data Limited.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.1)
- Refit (>= 9.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.4.7-beta | 251 | 12/18/2025 |
| 2.3.0 | 3,015 | 6/20/2018 |
| 2.2.0 | 1,224 | 5/23/2018 |
| 2.1.0 | 1,487 | 3/17/2018 |