List or aggregate time entries
Returns a paginated list of time entries within a workspace, optionally filtered by scope, user, time range, or billable flag.
When aggregate=true and group_by is supplied, returns aggregated totals grouped by the specified dimension instead of the entry list. The same filters apply.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Team ID is an alphanumerical string that identifies a Team. This is externally referred to as a "Workspace".
Query Parameters
Filter to entries with this scope type.
card, category Filter to entries with this scope id (typically used together with scope_type).
Filter to entries logged by this user.
Lower bound (inclusive) for started_at, as a unix timestamp in seconds.
Upper bound (exclusive) for started_at, as a unix timestamp in seconds.
Filter to billable (true) or non-billable (false) entries.
Pagination cursor returned by a previous call.
Page size; defaults to a server-defined value.
When true, return aggregated buckets (buckets, group_by) instead of the entry list. Requires group_by.
Dimension to group aggregate buckets by. Required when aggregate=true.
user, scope, week, billable Response
Paginated list of time entries, or aggregated buckets when aggregate=true.
Composite response for GET /{team_id}/time/entries. When aggregate is not set, the
response carries time_entries (plus paging fields from ResponseMetadata); when
aggregate=true, the response carries buckets and group_by. All fields are optional
because OpenAPI 2.0 cannot express a oneOf cleanly.