-
GET List TimeEntriesLists all TimeEntries for the given tenant. Requires: ViewAll on TimeTracking./tenants/{tenant}/time-entries
-
POST Create TimeEntryCreates a new TimeEntry for the specified tenant. Requires: Create on TimeTracking./tenants/{tenant}/time-entries
-
GET Get TimeEntryGets a TimeEntry for the specified tenant. Requires: ViewAll on TimeTracking./tenants/{tenant}/time-entries/{code}
-
PUT Update TimeEntryUpdates a TimeEntry for the specified tenant. Requires: Update on TimeTracking./tenants/{tenant}/time-entries/{code}
-
DELETE Delete TimeEntryDeletes a TimeEntry for the specified tenant. Requires: Delete on TimeTracking./tenants/{tenant}/time-entries/{code}
-
GET Export Time EntriesEvery individual time entry matching the filters as a CSV download, one row per entry: date, start and end time (UK time), team member and email, clie.../tenants/{tenant}/time-entries/csv
-
GET List Unbilled Time ClientsLists the clients that have unbilled billable time, with the unbilled minutes, entry count, value, oldest entry date and unrated entry count for each..../tenants/{tenant}/time-entries/unbilled-clients
-
GET Get Expected TimeThe minutes a team member's working pattern expects of them on each day of the window (own pattern, falling back to the practice default; bank holiday.../tenants/{tenant}/time-entries/expected-minutes
-
GET List Unpaid Time UsersLists the team members the practice pays for tracked time, with each member's unpaid minutes, entry count, value at the stamped cost rates, approved-f.../tenants/{tenant}/time-entries/unpaid-users
-
POST Approve Time PaymentApproves (or un-approves) time entries for payment to the team members who logged them. Approval is a stamp, not a lock — editing an approved entry cl.../tenants/{tenant}/time-entries/approve-payment
-
POST Pay Time EntriesPays a batch of one team member's unpaid time entries on a new pay run, at the cost rates stamped on the entries. The member must be paid for tracked .../tenants/{tenant}/time-entries/pay
-
GET List Time Pay RunsLists the pay runs recorded for tracked time, newest first unless sorted otherwise. Pass userCode to narrow to one team member's payment history. Req.../tenants/{tenant}/time-entries/pay-runs
-
DELETE Delete Time Pay RunDeletes a pay run and un-pays its time entries — they keep their payment approval and become available to pay again. Use this to undo a payment record.../tenants/{tenant}/time-entries/pay-runs/{code}
-
POST Bill Time EntriesConverts billable time entries with open WIP for a single client into billing line items, one per distinct hourly rate or one per entry. With no fee t.../tenants/{tenant}/time-entries/bill
-
POST Write Off Time EntriesDisposes of open WIP on time entries with no bill raised, recording one write-off allocation per entry with the given reason. Omit the amount to write.../tenants/{tenant}/time-entries/write-off
-
GET Get Time Entry AllocationsThe disposal history of one time entry, oldest first: each billing line it was billed on and each write-off against it, with the WIP settled, the amou.../tenants/{tenant}/time-entries/{code}/allocations
-
DELETE Undo Time Entry Write-offDeletes a pure write-off allocation (one with no billing line behind it) and hands the WIP back to the entry. A billed allocation is reversed by delet.../tenants/{tenant}/time-entries/{code}/allocations/{allocationCode}
-
POST Bill Clients TimeBills several clients' unbilled billable time in one run, resolving each client's entries from the given date window and team member. Clients are bill.../tenants/{tenant}/time-entries/bill-clients
-
GET Resolve Time Entry RatesThe charge-out rate a time entry would get if logged now for the team member (the caller when omitted), date, task and service — the team member's rat.../tenants/{tenant}/time-entries/resolve-rates
-
POST Preview Rate RecalculationLists the unpaid time entries from the date whose stamped rates differ from the rates that apply now, with the current and new rates. Charge-out rates.../tenants/{tenant}/time-entries/rate-recalculation/preview
-
POST Apply Rate RecalculationRe-applies the rates that apply now to the chosen entries from a preview, in one transaction. The rates are worked out again on the server, under the .../tenants/{tenant}/time-entries/rate-recalculation/apply