COUNTCOUNT
Sign Up

API Reference

Time Entries

Time entries record minutes logged by a person against projects, customers, and billable services. Partner responses use UUIDs; entries in processed pay periods are read-only.

Last updated 2026-06-21

Overview

The Time Entries API provides full CRUD for logged time in a workspace. Create one or more rows in a single POST by passing `peopleUuid` and a `timeEntries` array. Updates use PATCH (not PUT).

Soft-deleted entries are excluded from list and return 404 on retrieve. Entries tied to a processed pay period cannot be updated or deleted until the pay period is adjusted.

Key concepts

Batch create

POST accepts `peopleUuid` plus `timeEntries: [{ date, minutes, ... }]`. The server validates the daily minutes cap across all rows for the same person and date.

UUID filter params

List filters use `peopleUuids`, `projectUuids`, `customerUuids`, and `productServiceUuids` (comma-separated). Direct numeric filters are stripped server-side.

Date window

Both `startDate` and `endDate` (YYYY-MM-DD) must be provided together for the createdAt range filter to apply. Passing only one is ignored.

Processed pay periods

PATCH and DELETE return 400 when the entry belongs to a processed pay period.

The time entry object

Fields returned on a time entry. Nested people, project, customer, and productService expose UUIDs.

Attributes

iduuid

Time entry identifier (UUID).

datedate

Calendar date of the entry (YYYY-MM-DD).

minutesinteger

Minutes logged. Daily total per person cannot exceed 1440 (24 hours).

descriptionstring

Optional notes for the entry.

billableboolean

Whether the time is billable.

wagenumber

Wage rate applied when set.

peopleobject

Person who logged the time.

projectobject

Linked project, or null.

customerobject

Linked customer, or null. May auto-fill from project.

productServiceobject

Billable product or service, or null.

createdAtdatetime

ISO 8601 creation timestamp.

updatedAtdatetime

ISO 8601 last update timestamp.

Example
{
  "id": "33445566-7788-99aa-bbcc-ddeeff001122",
  "date": "2026-03-15",
  "minutes": 120,
  "description": "Wireframe review session",
  "billable": true,
  "wage": 45,
  "people": {
    "uuid": "f1a2b3c4-d5e6-4789-a012-3456789abcde",
    "firstName": "Jane",
    "lastName": "Smith"
  },
  "project": {
    "uuid": "11223344-5566-7788-99aa-bbccddeeff00",
    "name": "Website Redesign"
  },
  "customer": {
    "uuid": "dfa3219e-6af8-4c53-997a-037534f63a35",
    "customer": "Acme Corporation"
  },
  "productService": {
    "uuid": "aa11bb22-cc33-dd44-ee55-ff6677889900",
    "description": "Consulting services"
  },
  "createdAt": "2026-01-15T10:30:00.000Z",
  "updatedAt": "2026-01-28T14:22:30.000Z"
}

peopleUuid required on create

Create requires a non-empty `peopleUuid` from the People API. On update, `peopleUuid` cannot be cleared — passing null or empty string returns 400.

Subscription required

Time entry routes require an active workspace subscription (`checkSubscription` middleware).

Recent changes

2026-06-21

Complete Partner API reference

Documented all remaining API reference groups: Chart of Accounts, Vendors, Products & Services, Recurring Invoice Templates, Credit Memos, Bills, Journal Entries, Tags, People, Projects, Tasks, Time Entries, Expense Receipts, Reports, and Workspace Stats. Added missing invoice endpoints (audit log, attachments, credit application, remove transaction) and group overviews for Invoices and Transactions.

Endpoints