Create & Show Tasks
Show one task
GET https://YOURACCOUNT.harvestapp.com/tasks/{task_id}
HTTP Response: 200 OK
Examples
<?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
<?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
<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
<?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: