[New] Time Tracking Entries API - Additional fields available

Summary

Three new fields are now available on all API requests that return TimeTrackingEntry entities: approval_status, billable_status, and description. These fields provide additional context about time tracking entries to help you better understand their approval workflow state, billing implications, and user-provided details. They are currently read-only.

What’s new

The following fields are now included in TimeTrackingEntry responses:

Field Name Type Description
approval_status string Current approval status for this time tracking entry. Possible values: "DRAFT", "SUBMITTED", "APPROVED", "REJECTED"
billable_status string Indicates whether this time tracking entry is billable. Possible values: "billable", "nonBillable", "notApplicable"
description string User-provided description for this time tracking entry

Usage

These fields can be requested as optional fields using the opt_fields query parameter. They will be returned by default when fetching a single time tracking entry by gid.

  • GET /tasks/{task_gid}/time_tracking_entries
  • GET /time_tracking_entries/{time_tracking_entry_gid}

Example request

// GET /tasks/{task_gid}/time_tracking_entries?opt_fields=approval_status,billable_status,description
{
  "data": {
    "gid": "12345",
    "resource_type": "time_tracking_entry",
    "duration_minutes": 12,
    "entered_on": "2015-03-14",
    "approval_status": "DRAFT",
    "billable_status": "billable",
    "description": "plan next shopping steps",
    "attributable_to": {
      "gid": "12345",
      "resource_type": "project",
      "name": "Stuff to buy"
    },
    "created_by": {
      "gid": "12345",
      "resource_type": "user",
      "name": "Greg Sanchez"
    },
    "created_at": "2012-02-22T02:06:58.147Z"
  }
}

Timeline

This is available now!

For complete details on time tracking entries, visit the Asana API documentation.

3 Likes

Thanks for the update, @John_Baldo - the additional fields are definitely helpful!

One question regarding user attribution: at the moment, the API only exposes the created_by user for a time tracking entry. In practice, however, the person who logs the time and the person who creates the entry are not always the same (for example, when an approver or manager logs time on behalf of another user).

Is there currently a way to retrieve the user the time entry is logged for, in addition to the user who created it? If not, is exposing this information on the roadmap? Or am I overlooking an existing field that already provides this distinction?

@Uli.Kisslinger I think in practice, the most reliable (and logical) way to determine “who the time entry is for” is to use the task context (the task’s assignee). As you noted, the time entry creator can be a different person, but the work itself is still owned via the task.

1 Like

@Mikhail_Melikhov I somewhat disagree. The UI offers the capability for different users to create time entries on a single task. Clients will want to report on that - and its possible to report on that in an Asana project. Why shouldn’t it be possible to report on that via the API?

Also, it feels kind of inconsistent when you are able to add meta data (logger) to an object (time entry) via the UI but you are not able to retrieve that meta data when fetching the same object via the API.

Using the task assignee and ignoring the loggers would only be a temporary workaround for me.

1 Like