Stop the timer
Stops the running entry and returns it finalized, or entry null when nothing was running. An optional endedAt backdates the stop (clamped to the entry's start, rejected if in the future) so clients can discard trailing idle time.
View as MarkdownAuthorization
bearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/timer/stop" \ -H "Content-Type: application/json" \ -d '{}'{ "entry": { "id": "string", "projectId": "string", "projectName": "string", "projectColor": "string", "clientName": "string", "description": "string", "startedAt": "2019-08-24T14:15:22Z", "endedAt": "2019-08-24T14:15:22Z", "durationSeconds": 0, "isRunning": true, "isBillable": true, "billingStatus": "string", "tags": [ { "id": "string", "name": "string", "color": "string", "created": "2019-08-24T14:15:22Z" } ] }}Start the timer
Stops any running timer first, then starts a new running entry on any project the caller can read — their own or one shared with the organization. Responds 200 (not 201) with the running entry, which belongs to the caller.
Time summary
Totals over the caller's OWN completed entries only (running excluded); sharing a project never adds a teammate's hours here. amount sums seconds/3600 x project hourlyRate over billable entries. byProject and byDay arrays are unordered.