Docs

Docs

x-cpod-domain: work

Work & Time

Time entries, comments, and capacity for the working surface.

Try in explorer client.work

TimeEntry

Time logged by a Person against a Project.

REST path/api/v1/work/time-entries
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.work.timeEntries.list()

// create:
await client.work.timeEntries.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
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_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
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.

Comment

A polymorphic comment attached to any target.

REST path/api/v1/work/comments
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.work.comments.list()

// create:
await client.work.comments.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
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_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
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.
entity_typestringThe EDM entity type this comment is attached to (e.g., 'task', 'project', 'risk_item', 'contract').
entity_iduuidUUID of the specific entity instance this comment belongs to.
author_iduuidUUID of the Person who authored this comment.
bodystringMarkdown-formatted body text of the comment.
parent_comment_iduuidUUID of the parent Comment when this is a threaded reply. Null for top-level comments.
resolved_atdate-timeISO 8601 timestamp when this comment thread was marked resolved. Null if unresolved.
resolved_by_iduuidUUID of the Person who resolved this comment. Null if unresolved.

Capacity

A Person's available capacity for a period.

REST path/api/v1/work/capacity
Operations
listgetset
SDK
// list — returns only your records; add filters/search:
await client.work.capacity.list()
FieldTypeDescription
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_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
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 whose capacity is being allocated.
project_iduuidUUID of the project this capacity allocation is assigned to.
period_startdate-timeFirst day of the allocation period (ISO 8601 date, inclusive).
period_enddate-timeLast day of the allocation period (ISO 8601 date, inclusive).
allocated_pctnumberPercentage of the person's working time allocated to this project during the period (0–100).
confirmed_by_iduuidUUID of the Person (typically a resource manager) who confirmed this allocation. Null while unconfirmed.
confirmed_atdate-timeISO 8601 timestamp when this allocation was confirmed. Null if not yet confirmed.
notesstringOptional free-text notes about this allocation (e.g., scope or constraints).