Time Entries API
POST/api/v1/time-entries/bulk
Product availabilityAlgaPSA

Bulk create time entries

Bulk create time entry operation.

RBAC · time_entry

Request body

Content type: application/json · schema WorkV1BulkCreateTimeEntriesBody

entriesarray of objectRequired
min items 1 · max items 50
itemsobject
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_typestringRequired
Enum: ticketproject_tasknon_billable_categoryad_hocinteraction
start_timestring <date-time>Required
ISO 8601 datetime. Duration is computed from start_time and end_time and cannot be submitted.
end_timestring <date-time>Required
ISO 8601 datetime. Must be after start_time. Duration is computed and cannot be submitted.
notesstring
service_idstring <uuid>Required
Required (it drives billing).
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.
201
Create-like 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.
500
Unexpected controller/service failure.