Harvest

Harvest is a time-tracking app that includes invoicing, expensing, and team management features. It's an excellent tool for capturing critical project data that allows you to learn from the past, keep current projects on track, and better estimate future projects.


Authorization

OAuth 2.0

If the user selects OAuth 2.0, they need to enable it for Harvest using the developer console. The application can be created from the "Developers" section of Harvest ID. When you create your Harvest app, you must be sure to enter Sapper's OAuth callback URL -Sapper.

After setting the following connection properties, you are ready to connect:

  • AuthScheme: Set this to OAuth.

  • OAuthClientId: Set this to the client ID that you specified in your app settings.

  • OAuthClientSecret: Set this to the client secret that you specified in your app settings.

  • CallbackURL: Set this to the Redirect URI cthat you specified in your app settings.

  • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage how the driver obtains and refreshes the OAuthAccessToken.

  • Name: Provide the name of the application.

  • Redirect URL: The URL in your integration; successful authentications will be redirected to by default.

  • Multi-Account: Does your integration support multiple user account access or works with only one authenticated account.

  • Products: Scope of access requested; can be either Harvest, Forecast or both. It is advised to pick the minimal scope required for the integration to work.

Example

Profile=C:\profiles\Harvest.apip;Authscheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;

The following section provides a complete list of the options you can configure in the connection string for this provider.


Property

Description

Example

AccountId

Provide your Harvest Account ID.

 

APIKey

Provide your Harvest Personal Access Token.

 

AuthScheme

It’s the scheme used for authentication. Accepted entries are None or OAuth.

Allowed values are: NONE, OAUTH

CallbackURL

The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your app settings.

 

InitiateOAuth

Set this property to initiate the process to obtain or refresh the OAuth access token when you connect.

Allowed values are: OFF, GETANDREFRESH, REFRESH

OAuthClientId

The client ID assigned when you register your application with an OAuth authorization server.

 

OAuthClientSecret

The client secret assigned when you register your application with an OAuth authorization server.

 

 

For more details please visit https://help.getharvest.com/api-v2/authentication-api/authentication/authentication/

 

Harvest Connections

Harvest OAuth2.0 Connection 

 

Input 

Key 

Description

Example

Select Application

application

Select Harvest application

 

Connection Type

connection type

Select the type of connection.

 REST

REST Connection Type

rest connection type

Select the type of REST connection.

 OAuth2.0

Connection Name

name

Provide a name for the connection.

 Harvest connection

Connection Description

description

Provide a description for the connection.

 

Host Name

host 

Provide a string value for the URL of user's Harvest account.

 

Grant Type

grant type

Provide the grant type - authorization code, password, client credentials.

 

Action

Get users

Get Users | key: getUsers

Input

Key

Description

Example

Input

Key

Description

Example

Harvest Account Id

accountID

Provide the specific Harvest account id for the user. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address.

 


 

Get Clients

Get Clients | key: getClients



Input

Key

Description

Example

Input

Key

Description

Example

Harvest Account Id

accountID

Provide the specific Harvest account id associated with the client. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address.

 


Create Task

Create Task | key: createTask

 

 

Input

Key

Description

Example

Input

Key

Description

Example

Task Name

taskName

Mention the name of the task.

The task can be "Design: Logo", “Manage: expense”

Harvest Account Id

accountID

Provide the specific Harvest account id for accessing the task. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address.

 


Create Project

Create Project| key: createProject

 

Input

Key

Description

Example

Input

Key

Description

Example

Client Id

clientID

Mention the client id. A client id is a unique eight-digit number generated by the depository participants to easily identify their clients.

5735776

Project Name

projectName

Provide the name of the project. Project name refers to the project title as stated in the legal agreement of the organization.

The project name can be : Time & Materials, Fixed Fee, Non-Billable, and so on.

Is Billable

isBillable

Mention is the status of the project billable. This field explains if the project is billable or not.

The status can be True/ False

Harvest Account Id

accountID

Provide the specific Harvest account id associate with project. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address.

 


Get Invoices

Get Invoices | key: getInvoices

 

 

Input

Key

Description

Example

Input

Key

Description

Example

Harvest Account Id

accountID

Provide the specific Harvest account id. Harvest ID is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address.

 


Get user by ID

Get user by Id | key: getUsersbyID

Input

Key

Description

Example

Input

Key

Description

Example

Harvest Account Id

accountID

Provide the specific Harvest account id. Harvest ID is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address.

 

User Id

userID

Mention the Harvest user id. User identification (user id) is a logical entity used to identify a user on the Harvest software.

jbu3470


Get Projects

Get Projects | key: getProjects

Input

Key

Description

Example

Input

Key

Description

Example

Harvest Account Id

accountID

Provide the specific Harvest account id for the particular project. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address.

 


Get time entries

Get time entries | key: getTimeEntries

Input

Key

Description

Example

Input

Key

Description

Example

Harvest Account Id

accountID

Provide the specific Harvest account id. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address.