Show one task
GET https://YOURACCOUNT.harvestapp.com/tasks/{task_id}
HTTP Response: 200 OK
Examples
Example request in
Postman
<?xml version="1.0" encoding="UTF-8"?>
<task>
<id type= "integer" > 2086199</id>
<name> Admin</name>
<billable-by-default type= "boolean" > false</billable-by-default>
<created-at type= "dateTime" > 2013-04-30T20:28:12Z</created-at>
<updated-at type= "dateTime" > 2013-08-14T22:25:42Z</updated-at>
<is-default type= "boolean" > true</is-default>
<default-hourly-rate type= "decimal" > 0</default-hourly-rate>
<deactivated type= "boolean" > true</deactivated>
</task>
{
"task" : {
"id" : 2086199 ,
"name" : "Admin" ,
"billable_by_default" : false ,
"created_at" : "2013-04-30T20:28:12Z" ,
"updated_at" : "2013-08-14T22:25:42Z" ,
"is_default" : true ,
"default_hourly_rate" : 0 ,
"deactivated" : true
}
}
Show all tasks
GET https://YOURACCOUNT.harvestapp.com/tasks/
You can filter by updated_since
. To show only the tasks that have been updated since 2010-09-25 18:30
, pass the UTC date time value (URL encoded). Check out the example below.
GET https://YOURACCOUNT.harvestapp.com/tasks?updated_since=2015-09-25+18%3A30
HTTP Response: 200 OK
Examples
Example request in
Postman
<?xml version="1.0" encoding="UTF-8"?>
<task>
<id type= "integer" > 2086199</id>
<name> Admin</name>
<billable-by-default type= "boolean" > false</billable-by-default>
<created-at type= "dateTime" > 2013-04-30T20:28:12Z</created-at>
<updated-at type= "dateTime" > 2013-08-14T22:25:42Z</updated-at>
<is-default type= "boolean" > true</is-default>
<default-hourly-rate type= "decimal" > 0</default-hourly-rate>
<deactivated type= "boolean" > true</deactivated>
</task>
{
"task" : {
"id" : 2086199 ,
"name" : "Admin" ,
"billable_by_default" : false ,
"created_at" : "2013-04-30T20:28:12Z" ,
"updated_at" : "2013-08-14T22:25:42Z" ,
"is_default" : true ,
"default_hourly_rate" : 0 ,
"deactivated" : true
}
}
Create new task
POST https://YOURACCOUNT.harvestapp.com/tasks/
A successful call will return: 201 Created - Location: /tasks/{new_task_id}
Examples
Example request in
Postman
<task>
<billable-by-default type= "boolean" > false</billable-by-default>
<default-hourly-rate type= "decimal" > 100</default-hourly-rate>
<is-default type= "boolean" > false</is-default>
<name> Server Administration</name>
</task>
{
"task" : {
"name" : "Admin" ,
"billable_by_default" : false ,
"is_default" : true ,
"default_hourly_rate" : 100 ,
"deactivated" : true
}
}
Archive/Delete a task
DELETE https://YOURACCOUNT.harvestapp.com/tasks/{task_id}
If the task has no hours tracked, it will be deleted.
If the task has hours tracked, it will be archived.
HTTP Response: 200 OK
Update a task
PUT https://YOURACCOUNT.harvestapp.com/tasks/{task_id}
Using the same format as creating a new task, any task data can be updated using this call.
HTTP Response: 200 OK
Examples
Example request in
Postman
<?xml version="1.0" encoding="UTF-8"?>
<task>
<name> Admin</name>
<billable-by-default type= "boolean" > false</billable-by-default>
<is-default type= "boolean" > true</is-default>
<default-hourly-rate type= "decimal" > 0</default-hourly-rate>
<deactivated type= "boolean" > true</deactivated>
</task>
{
"task" : {
"name" : "Admin" ,
"billable_by_default" : false ,
"is_default" : true ,
"default_hourly_rate" : 0 ,
"deactivated" : true
}
}
Reactivate a task
POST https://YOURACCOUNT.harvestapp.com/tasks/{task_id}/activate
HTTP Response: 200 OK: