Harvest

App · Project Management · 20 actions

Log and time work, keep projects, clients and tasks in step, raise and send invoices, record expenses and report hours in Harvest.

Actions

ActionWhat it does
Add task to projectPut a task on a project, so time can be logged to it there.
Create clientAdd a client to hold projects and receive invoices.
Create expenseRecord an expense on a project: an amount, or units for a category charged per unit (such as mileage).
Create invoiceCreate a draft invoice for a client, with one line from the fields below and any more from Line items.
Create projectAdd a project for a client, with you on its team so you can log time to it.
Create taskAdd a task, the kind of work time is logged as.
Create time entryLog time already spent on a project's task, as hours or as a start and end time.
Delete time entryPermanently delete a time entry.
Get time entryOne time entry, with its project, task, hours and status.
Get time reportHours tracked between two dates (up to a year), by client, project, task or person, with billable hours and amounts.
List clientsActive clients, or archived ones too.
List invoicesInvoices, optionally one client's or project's, by state or issued between two dates, with totals and what is still owed.
List projectsActive projects, optionally one client's or archived ones too.
List tasksActive tasks, or archived ones too.
List time entriesTime entries by date, optionally for one project, client or task, between two dates, or by status, with the hours added up.
Send invoiceEmail an invoice to its recipients, or only to yourself.
Start timerStart tracking time on a project's task now.
Stop timerStop a running timer: the one given, or your running one.
Update projectChange a project's details, or archive or restore it.
Update time entryChange a time entry's project, task, date, hours, times or notes.

Add task to project

Put a task on a project, so time can be logged to it there.

Inputs

Projectproject_idtextRequired
The project.
Tasktask_idtextRequired
The task to add.
Billablebillabletrue/false
Whether time on it is billable. Default: No.
Hourly ratehourly_ratenumber
Its rate, when the project is billed by task.At least 0.
Budget (hours)budgetnumber
Its budget, when the project is budgeted per task.At least 0.

Outputs

task_assignmentobject
Example output
{
  "task_assignment": {
    "billable": true,
    "budget": null,
    "created_at": "2017-06-26T21:52:18Z",
    "hourly_rate": 100.0,
    "id": 155505016,
    "is_active": true,
    "project_id": 14308069,
    "project_name": "Online Store - Phase 1",
    "task_id": 8083800,
    "task_name": "Business Development",
    "updated_at": "2017-06-26T21:52:18Z"
  }
}

Create client

Add a client to hold projects and receive invoices.

Inputs

NamenametextRequired
The client's name.
Addressaddresstext
The client's address.
Currencycurrencytext
The three-letter code of the currency to invoice in, e.g. EUR. Leave empty for your company's currency.

Outputs

clientobject
Example output
{
  "client": {
    "address": "123 Main St.\r\nAnytown, LA 71223",
    "created_at": "2017-06-26T21:02:12Z",
    "currency": "EUR",
    "id": 5735776,
    "is_active": true,
    "name": "123 Industries",
    "updated_at": "2017-06-26T21:34:11Z"
  }
}

Create expense

Record an expense on a project: an amount, or units for a category charged per unit (such as mileage).

Inputs

Projectproject_idtextRequired
The project, from those you're assigned to.
Categoryexpense_categorytextRequired
The expense category, picked or typed by name.
Datespent_datedate
The day of the expense. Leave empty for today (UTC).
Amounttotal_costnumber
What it cost. For a category not charged per unit.At least 0.
Unitsunitsnumber
How many units, for a category charged per unit.At least 1.
Notesnotestext
What it was for.
Billablebillabletrue/false
Whether to bill it to the client. Default: Yes.

Outputs

expenseobject
Example output
{
  "expense": {
    "approval_status": "unsubmitted",
    "billable": true,
    "client_id": 5735774,
    "client_name": "ABC Corp",
    "created_at": "2017-06-27T15:09:54Z",
    "expense_category_id": 4195926,
    "expense_category_name": "Meals",
    "id": 15296442,
    "is_billed": false,
    "is_locked": false,
    "notes": "Lunch with client",
    "project_id": 14307913,
    "project_name": "Marketing Website",
    "spent_date": "2017-03-03",
    "total_cost": 33.35,
    "units": 1,
    "updated_at": "2017-06-27T16:47:14Z",
    "user_id": 1782959,
    "user_name": "Kim Allen"
  }
}

Create invoice

Create a draft invoice for a client, with one line from the fields below and any more from Line items. Send it with Send invoice.

Inputs

Clientclient_idtextRequired
The client to bill.
Item categoryitem_categorytext
The line's category. Default: Service.
Descriptiondescriptiontext
What the line is for.
Quantityquantitynumber
How many, e.g. hours. Default: 1.At least 0.
Unit priceunit_pricenumber
The price of one. Leave empty to add lines only from Line items.At least 0.
Projectproject_idtext
The project the lines are for.
Line itemsline_itemslist
More lines, as a list of objects with unit_price and optionally description, quantity, item_category, project_id and taxed.
Invoice numbernumbertext
Leave empty for Harvest's next number. Must be unique.
Purchase orderpurchase_ordertext
The client's PO number.
Subjectsubjecttext
The invoice's subject line.
Notesnotestext
Notes printed on the invoice.
Currencycurrencytext
A three-letter code, e.g. EUR. Leave empty for the client's.
Issue dateissue_datedate
Leave empty for today.
Due datedue_datedate
A due date of your own. Use this or Payment term.
Payment termpayment_termtext
When payment is due. Use this or Due date.One of: upon receipt, net 15, net 30, net 45, net 60, custom (Custom (set a due date)).
Tax (%)taxnumber
Tax rate in percent, e.g. 10, on lines marked taxed.At least 0.
Discount (%)discountnumber
Discount in percent, e.g. 5.From 0 to 100.

Outputs

invoiceobject
Example output
{
  "invoice": {
    "amount": 288.9,
    "client_id": 5735776,
    "client_name": "123 Industries",
    "created_at": "2017-06-27T16:27:16Z",
    "currency": "EUR",
    "discount": null,
    "discount_amount": 0.0,
    "due_amount": 288.9,
    "due_date": "2017-04-01",
    "id": 13150403,
    "issue_date": "2017-04-01",
    "line_items": [
      {
        "amount": 200.0,
        "description": "03/01/2017 - Project Management: [9:00am - 11:00am] Planning meetings",
        "id": 53341602,
        "item_category": "Service",
        "project_id": 14308069,
        "project_name": "Online Store - Phase 1",
        "quantity": 2.0,
        "taxed": true,
        "unit_price": 100.0
      }
    ],
    "notes": "Some notes about the invoice.",
    "number": "1001",
    "paid_at": null,
    "payment_term": "upon receipt",
    "purchase_order": "",
    "sent_at": "2017-08-23T22:25:59Z",
    "state": "open",
    "subject": "Online Store - Phase 1",
    "tax": 5.0,
    "tax_amount": 13.5,
    "updated_at": "2017-08-23T22:25:59Z"
  }
}

Create project

Add a project for a client, with you on its team so you can log time to it. The Free plan allows two active projects.

Inputs

Clientclient_idtextRequired
The client the project is for.
NamenametextRequired
The project's name.
Codecodetext
A short code for the project, e.g. OS1.
Billableis_billabletrue/false
Whether time on the project is billable. Default for a new project: Yes.
Bill bybill_bytext
Which hourly rate applies. Default for a new project: Not billable.One of: Project (Project hourly rate), Tasks (Task hourly rate), People (Person hourly rate), none (Not billable).
Hourly ratehourly_ratenumber
The project's rate, when billed by project hourly rate.At least 0.
Budget bybudget_bytext
How the budget is counted. Default for a new project: No budget.One of: project (Total project hours), project_cost (Total project fees), task (Hours per task), task_fees (Fees per task), person (Hours per person), none (No budget).
Budgetbudgetnumber
The budget: hours, or money when budgeted by total project fees.At least 0.
Cost budgetcost_budgetnumber
The budget in money, when budgeted by fees per task.At least 0.
Notesnotestext
Notes about the project.
Starts onstarts_ondate
When the project starts.
Ends onends_ondate
When the project ends.

Outputs

assigned_to_youtrue/false
Whether you are on the project's team, so you can log time to it.
projectobject
Example output
{
  "assigned_to_you": true,
  "project": {
    "bill_by": "Project",
    "budget": 200.0,
    "budget_by": "project",
    "client_id": 5735776,
    "client_name": "123 Industries",
    "code": "OS1",
    "cost_budget": null,
    "created_at": "2017-06-26T21:52:18Z",
    "currency": "EUR",
    "ends_on": null,
    "fee": null,
    "hourly_rate": 100.0,
    "id": 14308069,
    "is_active": true,
    "is_billable": true,
    "is_fixed_fee": false,
    "name": "Online Store - Phase 1",
    "notes": "",
    "starts_on": "2017-06-01",
    "updated_at": "2017-06-26T21:54:06Z"
  }
}

Create task

Add a task, the kind of work time is logged as. Put it on a project with Add task to project.

Inputs

NamenametextRequired
The task's name.
Default hourly ratedefault_hourly_ratenumber
The rate it gets on a project. Default: 0.At least 0.
Billable by defaultbillable_by_defaulttrue/false
Whether it is billable when put on a project. Default: Yes.
Add to new projectsis_defaulttrue/false
Yes adds it to every project created from now on. Default: No.

Outputs

taskobject
Example output
{
  "task": {
    "billable_by_default": false,
    "created_at": "2017-06-26T22:08:25Z",
    "default_hourly_rate": 0.0,
    "id": 8083800,
    "is_active": true,
    "is_default": false,
    "name": "Business Development",
    "updated_at": "2017-06-26T22:08:25Z"
  }
}

Create time entry

Log time already spent on a project's task, as hours or as a start and end time. Works whichever way your account tracks time.

Inputs

Projectproject_idtextRequired
The project, from those you're assigned to.
Tasktask_idtextRequired
The task, from those on the project picked above.
Datespent_datedate
The day the time was spent on. Leave empty for today (UTC).
Hourshoursnumber
How long, in hours (1.5 is 90 minutes). Or give Start time and End time.From 0 to 24.
Start timestarted_timetime
When the work started. Needed with Hours on accounts that track start and end times.
End timeended_timetime
When the work ended, on the same day.
Notesnotestext
What the time was for.

Outputs

time_entryobject
Example output
{
  "time_entry": {
    "approval_status": "approved",
    "billable": true,
    "client_id": 5735774,
    "client_name": "ABC Corp",
    "created_at": "2017-06-27T15:50:15Z",
    "ended_time": "5:00pm",
    "hours": 2.11,
    "id": 636709355,
    "is_billed": false,
    "is_locked": true,
    "is_running": false,
    "notes": "Adding CSS styling",
    "project_id": 14307913,
    "project_name": "Marketing Website",
    "rounded_hours": 2.25,
    "spent_date": "2017-03-02",
    "started_time": "3:00pm",
    "task_id": 8083365,
    "task_name": "Graphic Design",
    "timer_started_at": null,
    "updated_at": "2017-06-27T16:47:14Z",
    "user_id": 1782959,
    "user_name": "Kim Allen"
  }
}

Delete time entry

Permanently delete a time entry. Approved or invoiced time can only be deleted by an Administrator.

Inputs

Time entrytime_entry_idtextRequired
The time entry's ID, from an earlier step such as Create time entry, Start timer or List time entries.

Outputs

deletedtrue/false
True once the time entry is gone.
time_entry_idnumber
The ID of the time entry deleted.
Example output
{
  "deleted": true,
  "time_entry_id": 636709355
}

Get time entry

One time entry, with its project, task, hours and status.

Inputs

Time entrytime_entry_idtextRequired
The time entry's ID, from an earlier step such as Create time entry, Start timer or List time entries.

Outputs

time_entryobject
Example output
{
  "time_entry": {
    "approval_status": "approved",
    "billable": true,
    "client_id": 5735774,
    "client_name": "ABC Corp",
    "created_at": "2017-06-27T15:50:15Z",
    "ended_time": "5:00pm",
    "hours": 2.11,
    "id": 636709355,
    "is_billed": false,
    "is_locked": true,
    "is_running": false,
    "notes": "Adding CSS styling",
    "project_id": 14307913,
    "project_name": "Marketing Website",
    "rounded_hours": 2.25,
    "spent_date": "2017-03-02",
    "started_time": "3:00pm",
    "task_id": 8083365,
    "task_name": "Graphic Design",
    "timer_started_at": null,
    "updated_at": "2017-06-27T16:47:14Z",
    "user_id": 1782959,
    "user_name": "Kim Allen"
  }
}

Get time report

Hours tracked between two dates (up to a year), by client, project, task or person, with billable hours and amounts.

Inputs

Fromfrom_datedateRequired
The first day to include.
Toto_datedateRequired
The last day to include.
Group bygroup_bytext
How to break the hours down. Default: Project.One of: clients (Client), projects (Project), tasks (Task), team (Person).
Include fixed-fee projectsinclude_fixed_feetrue/false
Also work out billable amounts for fixed-fee projects.

Outputs

billable_hoursnumber
All billable hours, added up.
countnumber
How many rows.
from_datetext
The first day covered (YYYY-MM-DD).
group_bytext
clients, projects, tasks or team.
resultslist
One row per client, project, task or person.
to_datetext
The last day covered (YYYY-MM-DD).
total_hoursnumber
All hours tracked, added up.
Example output
{
  "billable_hours": 2.5,
  "count": 1,
  "from_date": "2017-01-01",
  "group_by": "projects",
  "results": [
    {
      "billable_amount": 250.0,
      "billable_hours": 2.5,
      "client_id": 5735774,
      "client_name": "ABC Corp",
      "currency": "USD",
      "id": 14307913,
      "name": "Marketing Website",
      "total_hours": 2.5
    }
  ],
  "to_date": "2017-12-31",
  "total_hours": 2.5
}

List clients

Active clients, or archived ones too.

Inputs

Include archivedinclude_archivedtrue/false
Also list archived ones.
Limitlimitnumber
The most records to return, up to 2000. Default: 100.From 1 to 2000.

Outputs

clientslist
The clients.
countnumber
How many were returned.
Example output
{
  "clients": [
    {
      "address": "123 Main St.\r\nAnytown, LA 71223",
      "created_at": "2017-06-26T21:02:12Z",
      "currency": "EUR",
      "id": 5735776,
      "is_active": true,
      "name": "123 Industries",
      "updated_at": "2017-06-26T21:34:11Z"
    }
  ],
  "count": 1
}

List invoices

Invoices, optionally one client's or project's, by state or issued between two dates, with totals and what is still owed.

Inputs

Clientclient_idtext
Only this client's.
Projectproject_idtext
Only this project's.
Statestatetext
Only invoices in this state.One of: draft, open, paid, closed.
Issued fromfrom_datedate
The first issue date to include.
Issued toto_datedate
The last issue date to include.
Limitlimitnumber
The most records to return, up to 2000. Default: 100.From 1 to 2000.

Outputs

countnumber
How many were returned.
invoiceslist
The invoices, newest first.
total_amountnumber
Their totals added up.
total_duenumber
What is still owed on them, added up.
Example output
{
  "count": 1,
  "invoices": [
    {
      "amount": 288.9,
      "client_id": 5735776,
      "client_name": "123 Industries",
      "created_at": "2017-06-27T16:27:16Z",
      "currency": "EUR",
      "discount": null,
      "discount_amount": 0.0,
      "due_amount": 288.9,
      "due_date": "2017-04-01",
      "id": 13150403,
      "issue_date": "2017-04-01",
      "line_items": [
        {
          "amount": 200.0,
          "description": "03/01/2017 - Project Management: [9:00am - 11:00am] Planning meetings",
          "id": 53341602,
          "item_category": "Service",
          "project_id": 14308069,
          "project_name": "Online Store - Phase 1",
          "quantity": 2.0,
          "taxed": true,
          "unit_price": 100.0
        }
      ],
      "notes": "Some notes about the invoice.",
      "number": "1001",
      "paid_at": null,
      "payment_term": "upon receipt",
      "purchase_order": "",
      "sent_at": "2017-08-23T22:25:59Z",
      "state": "open",
      "subject": "Online Store - Phase 1",
      "tax": 5.0,
      "tax_amount": 13.5,
      "updated_at": "2017-08-23T22:25:59Z"
    }
  ],
  "total_amount": 288.9,
  "total_due": 288.9
}

List projects

Active projects, optionally one client's or archived ones too.

Inputs

Clientclient_idtext
Only this client's.
Include archivedinclude_archivedtrue/false
Also list archived ones.
Limitlimitnumber
The most records to return, up to 2000. Default: 100.From 1 to 2000.

Outputs

countnumber
How many were returned.
projectslist
The projects.
Example output
{
  "count": 1,
  "projects": [
    {
      "bill_by": "Project",
      "budget": 200.0,
      "budget_by": "project",
      "client_id": 5735776,
      "client_name": "123 Industries",
      "code": "OS1",
      "cost_budget": null,
      "created_at": "2017-06-26T21:52:18Z",
      "currency": "EUR",
      "ends_on": null,
      "fee": null,
      "hourly_rate": 100.0,
      "id": 14308069,
      "is_active": true,
      "is_billable": true,
      "is_fixed_fee": false,
      "name": "Online Store - Phase 1",
      "notes": "",
      "starts_on": "2017-06-01",
      "updated_at": "2017-06-26T21:54:06Z"
    }
  ]
}

List tasks

Active tasks, or archived ones too.

Inputs

Include archivedinclude_archivedtrue/false
Also list archived ones.
Limitlimitnumber
The most records to return, up to 2000. Default: 100.From 1 to 2000.

Outputs

countnumber
How many were returned.
taskslist
The tasks.
Example output
{
  "count": 1,
  "tasks": [
    {
      "billable_by_default": false,
      "created_at": "2017-06-26T22:08:25Z",
      "default_hourly_rate": 0.0,
      "id": 8083800,
      "is_active": true,
      "is_default": false,
      "name": "Business Development",
      "updated_at": "2017-06-26T22:08:25Z"
    }
  ]
}

List time entries

Time entries by date, optionally for one project, client or task, between two dates, or by status, with the hours added up.

Inputs

Projectproject_idtext
Only this project's.
Clientclient_idtext
Only this client's.
Tasktask_idtext
Only this task's.
Fromfrom_datedate
The first day to include.
Toto_datedate
The last day to include.
Runningis_runningtrue/false
Yes for only running timers, No for only stopped ones.
Billedis_billedtrue/false
Yes for only invoiced time, No for only time not yet invoiced.
Approval statusapproval_statustext
Only time with this approval status.One of: unsubmitted, submitted, approved.
Limitlimitnumber
The most records to return, up to 2000. Default: 100.From 1 to 2000.

Outputs

countnumber
How many were returned.
time_entrieslist
The time entries, by date.
total_hoursnumber
The hours of all of them added up.
Example output
{
  "count": 1,
  "time_entries": [
    {
      "approval_status": "approved",
      "billable": true,
      "client_id": 5735774,
      "client_name": "ABC Corp",
      "created_at": "2017-06-27T15:50:15Z",
      "ended_time": "5:00pm",
      "hours": 2.11,
      "id": 636709355,
      "is_billed": false,
      "is_locked": true,
      "is_running": false,
      "notes": "Adding CSS styling",
      "project_id": 14307913,
      "project_name": "Marketing Website",
      "rounded_hours": 2.25,
      "spent_date": "2017-03-02",
      "started_time": "3:00pm",
      "task_id": 8083365,
      "task_name": "Graphic Design",
      "timer_started_at": null,
      "updated_at": "2017-06-27T16:47:14Z",
      "user_id": 1782959,
      "user_name": "Kim Allen"
    }
  ],
  "total_hours": 2.11
}

Send invoice

Email an invoice to its recipients, or only to yourself. A draft is marked as sent.

Inputs

Invoiceinvoice_idtextRequired
The invoice's ID, e.g. from Create invoice or List invoices.
Recipientsrecipientslist
Email addresses to send it to, each optionally as Name <email>. Leave empty to send only yourself a copy.
Subjectsubjecttext
The email's subject. Leave empty for Harvest's default.
Messagebodytext
The email's text. Leave empty for Harvest's default.
Attach PDFattach_pdftrue/false
Attach the invoice as a PDF. Default: No.
Send me a copysend_me_a_copytrue/false
Also email it to you. Default: No.

Outputs

invoice_idnumber
The ID of the invoice sent.
messageobject
Example output
{
  "invoice_id": 13150403,
  "message": {
    "attach_pdf": true,
    "created_at": "2017-08-25T21:23:40Z",
    "id": 27835324,
    "recipients": [
      {
        "email": "richardroe@example.com",
        "name": "Richard Roe"
      }
    ],
    "send_me_a_copy": false,
    "sent_by": "Bob Powell",
    "sent_by_email": "bobpowell@example.com",
    "subject": "Invoice #1001 from API Examples"
  }
}

Start timer

Start tracking time on a project's task now.

Inputs

Projectproject_idtextRequired
The project, from those you're assigned to.
Tasktask_idtextRequired
The task, from those on the project picked above.
Notesnotestext
What the time was for.
Datespent_datedate
The day the time was spent on. Leave empty for today (UTC).

Outputs

time_entryobject
Example output
{
  "time_entry": {
    "approval_status": "unsubmitted",
    "billable": true,
    "client_id": 5735774,
    "client_name": "ABC Corp",
    "created_at": "2017-06-27T15:50:15Z",
    "ended_time": null,
    "hours": 0.0,
    "id": 636709355,
    "is_billed": false,
    "is_locked": false,
    "is_running": true,
    "notes": "Adding CSS styling",
    "project_id": 14307913,
    "project_name": "Marketing Website",
    "rounded_hours": 0.0,
    "spent_date": "2017-03-02",
    "started_time": "3:00pm",
    "task_id": 8083365,
    "task_name": "Graphic Design",
    "timer_started_at": "2017-06-27T15:50:15Z",
    "updated_at": "2017-06-27T16:47:14Z",
    "user_id": 1782959,
    "user_name": "Kim Allen"
  }
}

Stop timer

Stop a running timer: the one given, or your running one. If none is running, nothing changes.

Inputs

Time entrytime_entry_idtext
The timer to stop, e.g. from Start timer. Leave empty to stop your running timer.

Outputs

stoppedtrue/false
True if a timer was stopped; false if none was running.
time_entryobject
Example output
{
  "stopped": true,
  "time_entry": {
    "approval_status": "approved",
    "billable": true,
    "client_id": 5735774,
    "client_name": "ABC Corp",
    "created_at": "2017-06-27T15:50:15Z",
    "ended_time": "5:00pm",
    "hours": 2.11,
    "id": 636709355,
    "is_billed": false,
    "is_locked": true,
    "is_running": false,
    "notes": "Adding CSS styling",
    "project_id": 14307913,
    "project_name": "Marketing Website",
    "rounded_hours": 2.25,
    "spent_date": "2017-03-02",
    "started_time": "3:00pm",
    "task_id": 8083365,
    "task_name": "Graphic Design",
    "timer_started_at": null,
    "updated_at": "2017-06-27T16:47:14Z",
    "user_id": 1782959,
    "user_name": "Kim Allen"
  }
}

Update project

Change a project's details, or archive or restore it. Only what you fill in changes.

Inputs

Projectproject_idtextRequired
The project to change.
New namenametext
A new name for the project.
Clientclient_idtext
Move the project to this client.
Activeis_activetrue/false
No archives the project, so no new time goes to it. Yes restores it.
Codecodetext
A short code for the project, e.g. OS1.
Billableis_billabletrue/false
Whether time on the project is billable. Default for a new project: Yes.
Bill bybill_bytext
Which hourly rate applies. Default for a new project: Not billable.One of: Project (Project hourly rate), Tasks (Task hourly rate), People (Person hourly rate), none (Not billable).
Hourly ratehourly_ratenumber
The project's rate, when billed by project hourly rate.At least 0.
Budget bybudget_bytext
How the budget is counted. Default for a new project: No budget.One of: project (Total project hours), project_cost (Total project fees), task (Hours per task), task_fees (Fees per task), person (Hours per person), none (No budget).
Budgetbudgetnumber
The budget: hours, or money when budgeted by total project fees.At least 0.
Cost budgetcost_budgetnumber
The budget in money, when budgeted by fees per task.At least 0.
Notesnotestext
Notes about the project.
Starts onstarts_ondate
When the project starts.
Ends onends_ondate
When the project ends.

Outputs

projectobject
Example output
{
  "project": {
    "bill_by": "Project",
    "budget": 200.0,
    "budget_by": "project",
    "client_id": 5735776,
    "client_name": "123 Industries",
    "code": "OS1",
    "cost_budget": null,
    "created_at": "2017-06-26T21:52:18Z",
    "currency": "EUR",
    "ends_on": null,
    "fee": null,
    "hourly_rate": 100.0,
    "id": 14308069,
    "is_active": true,
    "is_billable": true,
    "is_fixed_fee": false,
    "name": "Online Store - Phase 1",
    "notes": "",
    "starts_on": "2017-06-01",
    "updated_at": "2017-06-26T21:54:06Z"
  }
}

Update time entry

Change a time entry's project, task, date, hours, times or notes. Only what you fill in changes.

Inputs

Time entrytime_entry_idtextRequired
The time entry's ID, from an earlier step such as Create time entry, Start timer or List time entries.
Projectproject_idtext
Move the time to this project. Pick a Task on it too.
Tasktask_idtext
Move the time to this task.
Datespent_datedate
Move the time to this day.
Hourshoursnumber
The new length, in hours.From 0 to 24.
Start timestarted_timetime
A new start time.
End timeended_timetime
A new end time.
Notesnotestext
New notes, replacing the old.

Outputs

time_entryobject
Example output
{
  "time_entry": {
    "approval_status": "approved",
    "billable": true,
    "client_id": 5735774,
    "client_name": "ABC Corp",
    "created_at": "2017-06-27T15:50:15Z",
    "ended_time": "5:00pm",
    "hours": 2.11,
    "id": 636709355,
    "is_billed": false,
    "is_locked": true,
    "is_running": false,
    "notes": "Adding CSS styling",
    "project_id": 14307913,
    "project_name": "Marketing Website",
    "rounded_hours": 2.25,
    "spent_date": "2017-03-02",
    "started_time": "3:00pm",
    "task_id": 8083365,
    "task_name": "Graphic Design",
    "timer_started_at": null,
    "updated_at": "2017-06-27T16:47:14Z",
    "user_id": 1782959,
    "user_name": "Kim Allen"
  }
}

On this page