DevelopersAPI referenceCronCrunchTimer
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.
View as MarkdownAuthorization
bearer AuthorizationBearer <token>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/timer/start" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string" }'{ "timer": { "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" } ] }}The running timer
The caller's running entry with a live durationSeconds, or null when nothing is running.
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.