Playground

Playground

TimeEntry

/api/v1/work/time-entries

Time logged by a Person against a Project.

listgetcreateupdatedelete

Schema

FieldTypeNotes
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumfrontend | backend | server | system | apiWhere the write originated. Defaults to 'api'.
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
person_iduuidUUID of the Person who logged this time.
task_iduuidUUID of the task this time was spent on. Null when time is logged at project level only.
project_iduuidUUID of the project this time is associated with. Null for overhead or administrative time.
datedate-timeCalendar date on which the work was performed (ISO 8601 date).
hoursnumberDuration of work in hours. Minimum granularity is 0.25 (15 minutes); maximum is 24 hours per entry.
notesstringOptional free-text description of the work performed during this period.
billablebooleanWhether this time is billable to a client or project. Defaults to false.
approved_by_iduuidUUID of the Person (typically a manager) who approved this entry. Null while pending or not required.
approved_atdate-timeISO 8601 timestamp when this entry was approved. Null if not yet approved.

API

client.work.timeEntries.*
Loading manifest…