Skip to content

Time tracking

Read time entries, check the running timer, and control it. Starting a timer stops any timer already running.

GET

/time-entries

Lists time-tracking entries for the key’s user.

Query parameters

  • taskIdintegeroptionalFilter to one task
  • fromdateoptionalISO 8601 start of range
  • todateoptionalISO 8601 end of range
  • limitintegeroptionalPage size, default 25, max 100
  • offsetintegeroptionalNumber of results to skip, default 0
  • fieldsstringoptionalComma-separated field names to trim the response to
GET

/timer

Returns the key’s user’s currently running entry, or null if none.

POST

/timer/start

Starts a timer for a task. Any running timer is stopped first.

Body parameters

  • taskIdintegerrequiredTask to track time against
POST

/timer/stop

Stops the currently running timer and returns the closed entry.

View example
Start a timer
curl -X POST https://klaarin.com/api/v1/timer/start \
  -H "Authorization: Bearer kl_live_9f2ac…" \
  -H "Content-Type: application/json" \
  -d '{ "taskId": 318 }'
Response
{
  "id": 5541,
  "taskId": 318,
  "startTime": "2026-07-30T09:20:11Z"
}