Generate Time Entries
Rebuild a day's timesheet, or decide it does not need rebuilding.
Answers one of three ways, and none of them is an error: a new run, the run already in flight (adopt it and watch its progress), or nothing — because the day was rebuilt moments ago or nothing has changed since. The third is a 200 carrying outcome=skipped and no task_id.
That shape is what lets the client's Refresh control run on every press and every window focus without asking permission. Refreshing the data is free and always happens client-side; reprocessing the day costs a reasoning call, so the server declines it silently rather than telling the user their gesture was rejected. Whichever way it answers, the worker writes status onto the generation_tasks row and the desktop client observes it via the cursor sync feed (GET /api/v1/sync).
A request carrying no trigger comes from a client predating this behaviour and takes the old path exactly: mode is honoured, a run is always minted, and a collision is a 409.
Request
- Base URLhttps://app.tokumalabs.com/api
- AuthOAuth 2PasswordToken URL: v1/auth/token
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.