API: Time

The time log object

Attributes

id: integer

The time log's unique id.

job_id: integer

The id of the job that this time log is for.

user_id: integer

The id of the user that did the work.

duration_only: boolean

Whether this time log was created with a start and end time, or just logged as a duration.

date: date

The date of this time log. This attribute will be blank unless the time log is duration only.

started_at: datetime

The start time of this time log. This attribute will be blank if the time log is duration only.

ended_at: datetime

The end date of this time log. This attribute will be blank if the time log is duration only.

duration: integer

The duration in seconds of the time log.

description: string

The description that was given to this time log. This may include markdown.

hourly_rate: decimal

The time log's hourly rate, in dollars and cents.

value: decimal

The total value of this time log, calculated by multiplying the hourly rate by the duration.

billable: boolean

Whether this time log is billable or not. Billable time logs are included in invoices.

billed: boolean

True if this time log has been included in an invoice or has an external billing reference.

Example response

{
  "time_log": {
    "id": 321,
    "job_id": 264,
    "user_id": 181,
    "duration_only": false,
    "date": null,
    "started_at": "2013-06-20T11:30:00.000Z",
    "ended_at": "2013-06-20T13:00:00.000Z",
    "duration": null,
    "description": "Working on website design",
    "hourly_rate": "120.0",
    "value": "0.0",
    "billable": true,
    "billed": false
  }
}

Retrieve your account's time logs

Arguments

start: date (optional)

Time logs for dates on and after the supplied start date (inclusive) will be retrieved.

end: date (optional)

Time logs for dates before and up to the supplied end date (inclusive) will be retrieved.

user_id: integer (optional)

The identifier of the user whose time logs should be retrieved. By default, time logs for all users under your account will be retrieved.

client_id: integer (optional)

The identifier of the client whose time logs should be retrieved. By default, time logs for all clients under your account will be retrieved.

project_id: integer (optional)

The identifier of the project whose time logs should be retrieved. By default, time logs for all projects under your account will be retrieved.

job_id: integer (optional)

The identifier of the job whose time logs should be retrieved. By default, time logs for all jobs under your account will be retrieved.

billable: boolean (optional)

Pass true to fetch only billable time logs, and false to fetch only unbillable time logs. By default, both billable and unbillable time logs will be retrieved.

billed: boolean (optional)

Pass true to fetch only time logs that have been billed, and 'false' to fetch only time logs that haven't been billed. By default, both billed and unbilled time logs will be retrieved.

Returns
An array of time log objects.

Definition

GET /v1/time

Get a single time log

Arguments

id: integer (required)

The id of the time log to be retrieved.

Returns
A time log object, if a valid id was provided.

Definition

GET /v1/time/{TIME_LOG_ID}

Create a new time log

Arguments

job_id: integer (required)

The identifier of the job to associate with the time log being created.

user_id: integer (optional)

The identifier of the user to associate with the time log being created. Defaults to the user making the API request.

duration_only: boolean (optional)

Whether the time log should be created with just a duration, or by specifying a start time and end time.

duration: integer (optional)

The total duration in seconds for the time log. Required if the time log is duration_only.

date: date (optional)

The date of the time log. Required if the time log is duration_only.

ended_at: time (optional)

The end time (in ISO 8601 format) for the time log. Required if the time log is not duration_only.

started_at: time (optional)

The start time (in ISO 8601 format) for the time log. Required if the time log is not duration_only.

description: string (optional)

The description of work done in the time log.

Returns
The newly created time log object, if valid parameters were provided.

Definition

POST /v1/time

Updates an existing time log

Arguments

id: integer (required)

The id of the time log to update.

Returns
The updated time log object, if valid parameters were provided.

Definition

PUT /v1/time/{TIME_LOG_ID}

Deletes an existing time log

Arguments

id: integer (required)

The id of the time log to destroy.

Returns
The time log object that was destroyed, if a valid id was provided.

Definition

DELETE /v1/time/{TIME_LOG_ID}