Dashboard widgets and reportsGet my added value per month, own hours only (Insights widget)

Get my added value per month, own hours only (Insights widget)

Insights endpoint hour-kpi-per-month-hours-only-widget-data (widget title 'Added value per month (only My hours)'). Help text: 'Shows the monthly value added for the fiscal year. It displays either the registered or the estimated value. All amounts are in {{currency}}, with invoices in other currencies being converted. Internal hours hold a zero value, and absence hours are omitted … accumulates the year-to-date values …'. Same body shape as hour-kpi-per-month. 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 the sales value of their own registered hours per month

Not for:

  • Revenue or invoicing reporting — use the reporting / invoice APIs
  • Anything outside the front-page widget (controller comment)

Behaviour:

  • Read-after-write consistency: not yet documented.

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/hour-kpi-per-month-hours-only" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "Properties": {
    "type": "example_string",
    "width": 3.14,
    "height": 3.14,
    "sortOrder": 3.14,
    "baseCurrencyAbb": "example_string",
    "data": {
      "hourKPIPerMonths": [
        {
          "year": 3.14,
          "month": "example_string",
          "amountRegistered": 3.14,
          "amountEstimated": 3.14,
          "hours": 3.14,
          "hoursEstimated": 3.14,
          "estimatedAmountYTD": 3.14,
          "registeredAmountYTD": 3.14,
          "hoursYTD": 3.14,
          "hoursEstimatedYTD": 3.14
        }
      ]
    }
  },
  "Links": [
    {
      "Href": "example_string",
      "Rel": "example_string"
    }
  ],
  "Actions": [
    {}
  ]
}
GET
/v2/insights-service/hour-kpi-per-month-hours-only
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.
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.

Responses

Propertiesobject

Added value per month for the fiscal year (used by hour-kpi-per-month and hour-kpi-per-month-hours-only). Not paged; data.hourKPIPerMonths holds one row per month. 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.

Linksarray
Actionsobject[]