Time registrationsGet my running time tracker (v2)

Get my running time tracker (v2)

Returns the calling user's running time tracker, or null when none is running.

Looks up the caller's trackers with status ActiveTimeTracking, newest (highest TimeTrackerId) first, and returns the first one. The user is taken from the token — there is no user parameter. $expand fills the nested Task, AbsenceCode and/or TimeRegistration objects.

Use it to:

  • Restore a timer UI after reload: what is being tracked, since when, and the TimeTrackerId to stop it.

Behaviour:

  • Idempotent.
  • Safe to retry.
  • Changes are visible to the next read immediately.

Next: POST /v2/time-tracker/stop/{timeTrackerId}

See also: GET /v1/time-tracker/active-time-tracker

Not yet documented: examples (populated); response → variants.

curl -X GET "https://app3.timelog.com/your-account/api/v2/time-tracker/active?$expand=example_string&$page=1&$pagesize=25" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "Properties": {
    "TimeTrackerId": 123,
    "Id": "123e4567-e89b-12d3-a456-426614174000",
    "UserId": 123,
    "Date": "2024-12-25T10:00:00Z",
    "StartTime": "2024-12-25T10:00:00Z",
    "EntityType": "Task",
    "EntityId": "null",
    "Task": "null",
    "AbsenceCode": "null",
    "TimeRegistrationId": "null",
    "TimeRegistration": "null",
    "Comment": "example_string",
    "Minute": 42,
    "BillableMinute": 42,
    "IsBillable": "null",
    "TimeTrackerStatus": "ActiveTimeTracking",
    "MonthlyPeriod": "null",
    "AdditionalTextField": "null",
    "Factor": 3.14
  },
  "Links": [
    {
      "Href": "example_string",
      "Rel": "example_string"
    }
  ],
  "Actions": [
    {}
  ]
}
GET
/v2/time-tracker/active
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp). The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user. > Not yet documented: how to obtain a token. > Not yet documented: token lifetime.

OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp). The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user. > Not yet documented: how to obtain a token. > Not yet documented: token lifetime.
query
$expandstring

task, absenceCode and/or timeRegistration: fills the nested object (Task only for task trackers, AbsenceCode only for absence trackers, TimeRegistration only when linked). Several values: one string, separated by ,.

query
$pageinteger

Not meant as a feature — normally omit.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).

The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.

Not yet documented: how to obtain a token.

Not yet documented: token lifetime.

Query Parameters

$expandstring

task, absenceCode and/or timeRegistration: fills the nested object (Task only for task trackers, AbsenceCode only for absence trackers, TimeRegistration only when linked).

Several values: one string, separated by ,.

$pageinteger

Not meant as a feature — normally omit.

Responses

Propertiesobject

The caller's running time tracker (stopwatch) in the REST v2 shape. Same data as TimeTrackerRead, with v2 property casing, string enums and an optional nested TimeRegistration (the registration the tracker is linked to, filled with $expand=timeRegistration).

Linksarray
Actionsobject[]