Get my time-tracking delay (Insights widget)
Insights endpoint time-tracking-delay-widget-data. Help text: 'Shows the average number of days, between when the hours incurred and when they were registered … the trend compared to the previous month', plus a company target in days. PASS-THROUGH PROXY. Insights' HTTP status, headers and body are returned to the caller unchanged. The controller says it exists only so the React frontend can reach Insights and must not be used for anything else.
Use it to:
- Show an employee how promptly they register time
Not for:
- Compliance reporting across employees — caller-oriented widget
Behaviour:
- Read-after-write consistency: not yet documented.
See also: GET /v2/widget-data/time-registration-accuracy
Not yet documented: behaviour; examples; purpose → description; response → default ordering; response → empty result; response → pagination; response → success.
curl -X GET "https://app3.timelog.com/your-account/api/v2/insights-service/time-tracking-delay" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://app3.timelog.com/your-account/api/v2/insights-service/time-tracking-delay"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://app3.timelog.com/your-account/api/v2/insights-service/time-tracking-delay", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://app3.timelog.com/your-account/api/v2/insights-service/time-tracking-delay", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://app3.timelog.com/your-account/api/v2/insights-service/time-tracking-delay')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"Properties": {
"type": "example_string",
"width": 3.14,
"height": 3.14,
"sortOrder": 3.14,
"data": {
"lastRegistration": "2024-12-25T10:00:00Z",
"currentPeriodDelayedTimeTracking": 3.14,
"previousPeriodDelayedTimeTracking": 3.14,
"currentPeriodRegistrationCount": 3.14,
"companyTargetDays": 3.14
}
},
"Links": [
{
"Href": "example_string",
"Rel": "example_string"
}
],
"Actions": [
{}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Internal Server Error",
"message": "An unexpected error occurred on the server",
"code": 500,
"requestId": "req_1234567890"
}
{
"Code": 42,
"Message": "example_string",
"Details": [
"null"
],
"Parameters": "null",
"Url": "example_string"
}
/v2/insights-service/time-tracking-delay
Target server for requests. Edit to use your own host.
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.
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.Request Preview
Response
Response will appear here after sending the request
Authentication
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.
Responses
Time tracking delay widget for the CALLER (help text: 'your time tracking delay'). Not paged; data is one object. CONSUMER-DECLARED SHAPE. Meanings come from the frontend's use and the product's widget help text, not from the producer.
Not yet documented: source type.