---
title: "Time Entries API · COUNT Partner API"
description: "Time entries record minutes logged by a person against projects, customers, and billable services. Partner responses use UUIDs; entries in processed pay…"
canonical: "https://developers.getcount.com/reference/time-entries"
source: "https://developers.getcount.com/reference/time-entries"
---
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

`id` uuid

Time entry identifier (UUID).

`date` date

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

`minutes` integer

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

`description` string

Optional notes for the entry.

`billable` boolean

Whether the time is billable.

`wage` number

Wage rate applied when set.

`people` object

Person who logged the time.

`project` object

Linked project, or null.

`customer` object

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

`productService` object

Billable product or service, or null.

`createdAt` datetime

ISO 8601 creation timestamp.

`updatedAt` datetime

ISO 8601 last update timestamp.

Example

```json
{
  "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).

## Related

- [People API](https://developers.getcount.com/reference/people)
- [Projects API](https://developers.getcount.com/reference/projects)
- [Products & Services API](https://developers.getcount.com/reference/products-and-services)

## 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

[GET List time entries `/partners/time-entries` Returns a paginated list of time entries.](https://developers.getcount.com/reference/time-entries/list-time-entries) [GET Get a time entry `/partners/time-entries/{uuid}` Retrieves a single time entry by UUID.](https://developers.getcount.com/reference/time-entries/get-time-entry) [POST Create time entries `/partners/time-entries` Creates one or more time entry rows for a person.](https://developers.getcount.com/reference/time-entries/create-time-entry) [PATCH Update a time entry `/partners/time-entries/{uuid}` Updates an existing time entry. Only the fields you send are changed.](https://developers.getcount.com/reference/time-entries/update-time-entry) [DELETE Delete a time entry `/partners/time-entries/{uuid}` Soft-deletes a time entry.](https://developers.getcount.com/reference/time-entries/delete-time-entry)
