Time Reporting
Reporting parameters
Parameter | Description |
---|---|
ID |
Time Entry ID |
Hours |
Number of (decimal time) hours tracked in this time entry |
Notes |
Time entry notes |
Project-ID |
Project ID that the time entry is associated with |
Spent-At |
Date of the time entry |
User-ID |
User ID that tracked this time entry |
Is-Billed |
true if the time entry has been marked as invoiced, false if uninvoiced |
Is-Closed |
true if the time entry has been approved via Timesheet Approval (no API support), false if un-approved |
Timer-Started-At |
Time (UTC) and date that timer was started (if tracking by duration) |
Hours-With-Timer |
Running timers will return the currently tracked value in decimal time |
Started-At |
Start timestamp of timer (if timestamps are enabled) |
Ended-At |
End timestamp of timer (if timestamps are enabled) |
Billable |
true if the time entry is billable, false if non-billable |
Billable-Rate |
The billable rate applied to this time entry. |
Cost-Rate |
The cost rate applied to this time entry. |
Updated-At |
Time (UTC) and date that entry was last updated |
Created-At |
Time (UTC) and date that entry was created |
All entries for project timeframe
GET https://YOURACCOUNT.harvestapp.com/projects/{PROJECT_ID}/entries?from=YYYYMMDD&to=YYYYMMDD
HTTP Response: 200 OK
Examples
<?xml version="1.0" encoding="UTF-8"?>
<day-entries type="array">
<day-entry>
<id type="integer">367231666</id>
<notes>Some notes.</notes>
<spent-at type="date">2015-07-01</spent-at>
<hours type="decimal">0.16</hours>
<user-id type="integer">508343</user-id>
<project-id type="integer">3554414</project-id>
<task-id type="integer">2086200</task-id>
<created-at type="dateTime">2015-08-25T14:31:52Z</created-at>
<updated-at type="dateTime">2015-08-25T14:47:02Z</updated-at>
<adjustment-record type="boolean">false</adjustment-record>
<timer-started-at type="dateTime">2015-08-25T14:47:02Z</timer-started-at>
<is-closed type="boolean">false</is-closed>
<is-billed type="boolean">false</is-billed>
<hours-with-timer type="NilClass">0.16</hours-with-timer>
<billable type="boolean">true</billable>
<billable-rate type="decimal">100.0</billable-rate>
<cost-rate type="decimal">50.0</cost-rate>
</day-entry>
</day-entries>
[
{
"day_entry": {
"id": 367231666,
"notes": "Some notes.",
"spent_at": "2015-07-01",
"hours": 0.16,
"user_id": 508343,
"project_id": 3554414,
"task_id": 2086200,
"created_at": "2015-08-25T14:31:52Z",
"updated_at": "2015-08-25T14:47:02Z",
"adjustment_record": false,
"timer_started_at": "2015-08-25T14:47:02Z",
"is_closed": false,
"is_billed": false,
"hours_with_timer": 0.16,
"billable": true,
"billable_rate": 100.0,
"cost_rate": 50.0
}
}
]
All entries by user for timeframe
This call requires parameters (from
, to
) to describe the timeframe to use for a report. This method can be used to view your own entries on a specific project.
GET https://YOURACCOUNT.harvestapp.com/people/{USER_ID}/entries?from=YYYYMMDD&to=YYYYMMDD
HTTP Response: 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<day-entries type="array">
<day-entry>
<id type="integer">273</id>
<notes>Some notes.</notes>
<spent-at type="date">2015-10-02</spent-at>
<hours type="decimal">1.0</hours>
<user-id type="integer">1</user-id>
<project-id type="integer">13</project-id>
<task-id type="integer">1</task-id>
<created-at type="dateTime">2015-10-02T23:04:36Z</created-at>
<updated-at type="dateTime">2015-10-02T23:06:56Z</updated-at>
<adjustment-record type="boolean">false</adjustment-record>
<timer-started-at type="dateTime" nil="true"/>
<is-closed type="boolean">false</is-closed>
<is-billed type="boolean">false</is-billed>
<billable type="boolean">false</billable>
<billable-rate type="decimal" nil="true"/>
<cost-rate type="decimal">50.0</cost-rate>
</day-entry>
</day-entries>
[
{
"day_entry": {
"id": 273,
"notes": "Some notes.",
"spent_at": "2015-10-02",
"hours": 1,
"user_id": 1,
"project_id": 13,
"task_id": 1,
"created_at": "2015-10-02T23:04:36Z",
"updated_at": "2015-10-02T23:06:56Z",
"adjustment_record": false,
"timer_started_at": null,
"is_closed": false,
"is_billed": false,
"billable": false,
"billable_rate": null,
"cost_rate": 50.0
}
}
]
Filtering options
GET https://YOURACCOUNT.harvestapp.com/projects/{PROJECT_ID}/entries?from=YYYYMMDD&to=YYYYMMDD&billable=yes
Acceptable values for the billable
parameter are yes
and no
.
GET https://YOURACCOUNT.harvestapp.com/projects/{PROJECT_ID}/entries?from=YYYYMMDD&to=YYYYMMDD&only_billed=yes
Acceptable value for the only_billed
parameter is yes
. Anything else will be ignored.
GET https://YOURACCOUNT.harvestapp.com/projects/{PROJECT_ID}/entries?from=YYYYMMDD&to=YYYYMMDD&only_unbilled=yes
Acceptable value for the only_unbilled
parameter is yes
. Anything else will be ignored.
GET https://YOURACCOUNT.harvestapp.com/projects/{PROJECT_ID}/entries?from=YYYYMMDD&to=YYYYMMDD&is_closed=no
Acceptable values for the is_closed
parameter are yes
and no
.
GET https://YOURACCOUNT.harvestapp.com/projects/{PROJECT_ID}/entries?from=YYYYMMDD&to=YYYYMMDD&updated_since=2010-09-25+18%3A30
Acceptable value for the updated_since
parameter is a UTC date time value, URL encoded.
GET https://YOURACCOUNT.harvestapp.com/projects/{PROJECT_ID}/entries?user_id=1334