Salary and absenceStart a time tracker on an absence code (no response body)

Start a time tracker on an absence code (no response body)

Starts a stopwatch for the calling user on an absence code; returns no body.

Creates a running, non-billable time tracker for the authenticated user on AbsenceCodeID, starting now (server clock). Any tracker the caller already has running is stopped first and converted into a time registration. With TimeRegistrationID, comment, factor and monthly period are copied from that registration and the tracker is linked to it when it is dated today. Behaviour is identical to POST /v1/time-tracker/absence/start-time-tracker, which also returns the new tracker — prefer that operation.

Not for:

  • When you need the tracker's ID — use POST /v1/time-tracker/absence/start-time-tracker (returns TimeTrackerRead).

Behaviour:

  • Not idempotent.
  • Not safe to retry blindly.
  • Side effect: Stops the caller's running tracker (if any) and converts it into time registration(s).
  • Side effect: Creates the tracker (TimeTrackerCreated event); notifies invoicing potential.
  • Changes are visible to the next read immediately.

Call first: GET /v1/absence-code/{status}

Next: GET /v1/time-tracker/active-time-tracker, POST /v1/time-registration/stop-time-tracker/{timeTrackerId}

See also: POST /v1/time-tracker/absence/start-time-tracker

Not yet documented: examples (success).

curl -X POST "https://app3.timelog.com/your-account/api/v1/absence-code/time-tracker" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "AbsenceCodeID": 123,
  "TimeRegistrationID": "null",
  "Minute": 42,
  "Comment": "null"
}'
"null"
POST
/v1/absence-code/time-tracker
POST
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.
Content-Typestring
Required

The media type of the request body

Options: application/json
AbsenceCodeIDinteger
Required

The absence code to track. Always used, also when TimeRegistrationID is sent (it replaces the registration's entity). Refers to AbsenceCodeRead.AbsenceCodeID.

Format: int32
TimeRegistrationIDintegernull

Start from an existing registration: copies comment, additional text, factor and monthly period, and LINKS the tracker when the registration is dated today (server date). Refers to TimeRegistrationRead.TimeRegistrationID. Look up valid values with GET /v1/time-registration/{timeRegistrationID}.

Format: int32
Minuteinteger

Minutes already counted before now. With TimeRegistrationID and a value > 0: the expected total. Unit: minutes

Format: int32
Commentstringnull

- Always — Overwrites the tracker comment, including the registration's comment when TimeRegistrationID is sent and Comment is omitted.

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.

Body

application/json
AbsenceCodeIDinteger
Required

The absence code to track. Always used, also when TimeRegistrationID is sent (it replaces the registration's entity).

Refers to AbsenceCodeRead.AbsenceCodeID.

TimeRegistrationIDinteger,null

Start from an existing registration: copies comment, additional text, factor and monthly period, and LINKS the tracker when the registration is dated today (server date).

Refers to TimeRegistrationRead.TimeRegistrationID. Look up valid values with GET /v1/time-registration/{timeRegistrationID}.

Minuteinteger

Minutes already counted before now. With TimeRegistrationID and a value > 0: the expected total.

Unit: minutes

Commentstring,null
  • Always — Overwrites the tracker comment, including the registration's comment when TimeRegistrationID is sent and Comment is omitted.

Responses

Success without content: HTTP 200 with the literal JSON body null. Body is the literal JSON null. The tracker's ID is not returned; read it with GET /v1/time-tracker/active-time-tracker.