For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Retrieve a paginated list of timesheets (time entries).
Supports:
Pagination (page_size, page)
Sorting by last updated (order_by, default: desc)
Filter by project_id / account_id / opportunity_id (aliases — projects, accounts, and opportunities share the same underlying record), work_order_id, user_id, and type
Filter by the entry’s own date range (start_date, end_date) or by last-updated time (updated_after, updated_before)
Archived timesheets are excluded unless include_archived=true is passed.
Authentication
x-api-keystring
API Key authentication via header
Query parameters
page_sizeintegerOptional1-100Defaults to 20
Number of items per page (max 100)
pageintegerOptional>=1Defaults to 1
Page number (1-based)
order_byenumOptionalDefaults to asc
Sort order for results
Allowed values:
project_idintegerOptional
Filter by project ID. Alias of account_id/opportunity_id.
account_idintegerOptional
Filter by account ID. Alias of project_id/opportunity_id.
opportunity_idintegerOptional
Filter by opportunity ID. Alias of project_id/account_id.
work_order_idintegerOptional
Filter by work order ID.
user_idintegerOptional
Filter by the worker the time entry is logged for.
typeenumOptional
Filter by time entry type.
Allowed values:
statusenumOptional
Filter by processing status.
Allowed values:
include_archivedbooleanOptionalDefaults to false
Include archived timesheets in the results.
start_datestringOptionalformat: "date-time"
Only return timesheets whose start time is at or after this timestamp.
end_datestringOptionalformat: "date-time"
Only return timesheets whose end time is at or before this timestamp.
updated_afterstringOptional
Filter items updated after this timestamp (ISO 8601). Also matches records whose custom property values changed within the window.
updated_beforestringOptional
Filter items updated before this timestamp (ISO 8601). Also matches records whose custom property values changed within the window.
Response
List of timesheets
idintegerOptional
Unique identifier.
typeenum or nullOptional
Time entry type.
Allowed values:
statusenum or nullOptional
Processing status of the time entry.
Allowed values:
startDatestring or nullOptionalformat: "date-time"
endDatestring or nullOptionalformat: "date-time"
distancedouble or nullOptional
Distance traveled, for TRAVEL entries.
notestring or nullOptional
isArchivedboolean or nullOptional
createdAtstringOptionalformat: "date-time"
updatedAtstringOptionalformat: "date-time"
projectIdinteger or nullOptional
Set when the linked record is a Project. Null when it is an Account (see accountId) or Opportunity (see opportunityId).
accountIdinteger or nullOptional
Set when the linked record is an Account. Null otherwise.
opportunityIdinteger or nullOptional
Set when the linked record is an Opportunity. Null otherwise.
workOrderIdinteger or nullOptional
targetUserIdinteger or nullOptional
The worker the time entry is logged for.
createdByinteger or nullOptional
updatedByinteger or nullOptional
laborHourlyRatedouble or nullOptional
Labor cost ($/hr). Only visible with the appropriate financial privilege.
laborTotalCostdouble or nullOptional
Only visible with the appropriate financial privilege.