Time Entries API
PUT/api/v1/time-entries/{id}
Product availabilityAlgaPSA

Update time entry

Updates time entry UUID. Re-resolves the contract line and adjusts bucket usage by the change; returns the same 400 contract_line_ambiguous / contract_line_not_eligible ValidationError as create.

RBAC · time_entry

Path parameters

idstring <uuid>Required
UUID path identifier from underlying resource tables.

Request body

Content type: application/json · schema WorkV1UpdateTimeEntryBody

work_item_idstring <uuid>
Required when work_item_type is ticket or project_task (the ticket must exist). Not required for other work item types.
work_item_typestring
Enum: ticketproject_tasknon_billable_categoryad_hocinteraction
start_timestring <date-time>
ISO 8601 datetime. Duration is computed from start_time and end_time and cannot be submitted.
end_timestring <date-time>
ISO 8601 datetime. Must be after start_time. Duration is computed and cannot be submitted.
notesstring
service_idstring <uuid>
Required on create (it drives billing); cannot be cleared on update.
tax_regionstring
tax_rate_idstring <uuid>Nullable
Optional. Stored as given, like the UI save path; the API does not compute tax.
contract_line_idstring <uuid>
Optional. Must be one of the contract lines eligible for the work item's client, the service and the work date, else 400. When omitted the line is resolved automatically; if several lines are eligible and none can be chosen the request fails with 400 (details.reason = contract_line_ambiguous, details.eligible_contract_lines) and should be resent with contract_line_id set. Ignored for non-billable entries.
is_billableboolean
default true

Response body

Success response 200 · schema WorkV1ApiSuccess

dataanyOfRequired
anyOf (option 1)object
anyOf (option 2)array of object
itemsobject
metaobject

Response codes

200
Operation succeeded.
400
Validation or request parsing failure.
401
API key missing/invalid or associated user missing.
403
RBAC denied for time_entry resource action.
404
Target resource not found.
500
Unexpected controller/service failure.