Create & Show Projects
Project parameters
Parameter | Description |
---|---|
ID |
Project ID |
Client-ID |
Client ID for project |
Name |
Project name |
Code |
Project code |
Active |
Whether the project is active or archived. Options: true , false . |
Billable |
Whether the project is billable or not billable. Options: true , false . |
Is-Fixed-Fee |
Whether the project type is fixed fee or not. Options: true , false . |
Fee |
Total project fee. Only present for fixed fee projects. |
Bill-By |
The method by which the project is invoiced. Options: Project , Tasks , People , or None . |
Hourly-Rate |
Rate for projects billed by Project Hourly Rate |
Budget-By |
The method by which the project is budgeted. Options: Project (Hours Per Project), Project_Cost (Total Project Fees), Task (Hours Per Task), Person (Hours Per Person), None (No Budget). |
Budget |
Budget value for the project. |
Notify-When-Over-Budget |
Option to send notification emails when a project reaches the budget threshold set in Over-Budget-Notification-Percentage Options: true , false . |
Over-Budget-Notification-Percentage |
Percentage value to trigger over budget email alerts. |
Over-Budget-Notified-At |
Date of last over budget notification. If none have been sent, this will be nil . |
Show-Budget-To-All |
Option to show project budget to all employees. Does not apply to Total Project Fee projects. Options: true , false . |
Created-At |
Date project was created. |
Updated-At |
Date project was last updated. |
Starts-On |
Start date of project. |
Ends-On |
End date of project. |
Hint-Earliest-Record-At |
Date of earliest record for this project. Updated every 24 hours. |
Hint-Latest-Record-At |
Date of most recent record for this project. Updated every 24 hours. |
Notes |
Project notes. |
Cost-Budget |
Budget value for Total Project Fees projects. |
Cost-Budget-Includes-Expenses |
Option for budget of Total Project Fees projects to include tracked expenses. |
Show a project
GET https://YOURACCOUNT.harvestapp.com/projects/{PROJECTID}
HTTP Response: 200 OK
Examples
Show all projects
GET https://YOURACCOUNT.harvestapp.com/projects
HTTP Response: 200 OK
Examples
Filtering requests
Requests can be filtered by client_id
and updated_since
. For example:
-
GET
https://YOURACCOUNT.harvestapp.com/projects?client={CLIENTID}
-
GET
https://YOURACCOUNT.harvestapp.com/projects?updated_since=2015-03-25+18%3A30
These requests would only return projects for a specific client, or projects that have been updated since March 25th, 2015 at 18:30 UTC, respectively.
Create a new project
POST https://YOURACCOUNT.harvestapp.com/projects
HTTP Response: 201 Created
To create a new project, you’ll need to POST
the following at minimum:
Parameter | Description |
---|---|
Name |
Project name. |
Active |
If the project is active, or archived. Options: true , false . |
Bill-By |
How the project is billed. Options: Project , Tasks , People , or None . |
Client-ID |
A valid, and existing Client ID. |
Examples
Additional Project functions
Update an existing project
PUT https://YOURACCOUNT.harvestapp.com/projects/{PROJECTID}
Post similar XML or JSON as with create a new project, but include client-id
as part of the project. For activating a project a separate method needs to be used.
(De)activate an existing Project
PUT https://YOURACCOUNT.harvestapp.com/projects/{PROJECTID}/toggle
Note: If your account is on the Free plan and reaches the two project limit, Harvest will return HTTP Response: 400 Bad Request
, with a Hint header.
Delete a project
DELETE https://YOURACCOUNT.harvestapp.com/projects/{PROJECTID}
If the project does not have any timesheet data tracked to it, it is deleted with HTTP Response: 200 OK
. If the project does have timesheet entries associated, the project is not deleted and HTTP Response: 400 Bad Request
is returned.