Time registrationsSet an absence registration to a full day

Set an absence registration to a full day

Sets an existing absence registration to the employee's full normal working time for its date.

Changes the absence to FullDay: hours are recalculated from the employee's normal working time on that date. Optionally moves it to another Date and replaces the Comment (omitted Comment = cleared). Absence code, employee and additional comment are kept.

Not for:

  • Project or travel time → POST /v1/time-registration/update-time

Behaviour:

  • Idempotent.
  • Safe to retry.
  • Side effect: Same as PUT update: overwrites Created/CreatedBy; rejected → …RejectedAndResolved; TimeRegistrationUpdated event.
  • Read-after-write consistency: not yet documented.

Call first: GET /v1/time-registration/{timeRegistrationID}

Next: GET /v1/time-registration/{timeRegistrationID}

See also: POST /v1/time-registration/update-half-or-full-day-absence

Not yet documented: behaviour → consistency; examples (success).

curl -X POST "https://app3.timelog.com/your-account/api/v1/time-registration/update-full-day-absence" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "TimeRegistrationID": 123,
  "Type": 42,
  "Hours": 3.14,
  "Minutes": 42,
  "Date": "2024-12-25T10:00:00Z",
  "Comment": "example_string",
  "AdditionalComment": "example_string"
}'
"null"
POST
/v1/time-registration/update-full-day-absence
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
TimeRegistrationIDinteger
Required

Integer ID of the absence registration to change. Identifier of this object, unique per TimeLog site. NOT validated on this route (no validator): 0 or unknown → HTTP 500. Validated as non-zero on update-half-or-full-day-absence and update-hours-absence (400). update-full-day-absence has NO validator: 0 or an unknown ID gives HTTP 500 (Code 100). The registration is not checked to be an absence.

Format: int32
Typeinteger

Whether the absence covers a half or a full day of the employee's normal working time. Not part of this model; always FullDay. The NotNull rule cannot fail on a non-nullable enum: omitting Type means HalfDay (0). Allowed values: | Value | Name | Meaning | |---|---|---| | 0 | HalfDay | Half of the employee's normal working time on that date. | | 1 | FullDay | The employee's full normal working time on that date. |

Options: 0, 1
Hoursnumber

New absence duration in decimal hours. Unit: hours (decimal) The validator's NotNull rule cannot fail on a non-nullable double; Hours = 0 passes validation (it then meets the zero-duration rule 37982 unless Minutes is set).

Format: double
Minutesinteger

Absence duration in minutes. Unit: minutes - always — Applied after Hours (TimeTrackingFormat Hours), so Minutes wins over Hours. > Not yet documented: behaviour.

Format: int32
Datestring

Moves the absence to another date. Time zone: not yet documented. > Not yet documented: constraints → timezone.

Format: date-time
Commentstring

Free-text comment.

AdditionalCommentstring

Accepted by the model but not used. - always — The stored additional comment is kept; the sent value is discarded.

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
TimeRegistrationIDinteger
Required

Integer ID of the absence registration to change.

Identifier of this object, unique per TimeLog site.

NOT validated on this route (no validator): 0 or unknown → HTTP 500. Validated as non-zero on update-half-or-full-day-absence and update-hours-absence (400). update-full-day-absence has NO validator: 0 or an unknown ID gives HTTP 500 (Code 100). The registration is not checked to be an absence.

Typeinteger

Whether the absence covers a half or a full day of the employee's normal working time.

Not part of this model; always FullDay. The NotNull rule cannot fail on a non-nullable enum: omitting Type means HalfDay (0).

Allowed values:

ValueNameMeaning
0HalfDayHalf of the employee's normal working time on that date.
1FullDayThe employee's full normal working time on that date.
Allowed values:01
Hoursnumber

New absence duration in decimal hours.

Unit: hours (decimal)

The validator's NotNull rule cannot fail on a non-nullable double; Hours = 0 passes validation (it then meets the zero-duration rule 37982 unless Minutes is set).

Minutesinteger

Absence duration in minutes.

Unit: minutes

  • always — Applied after Hours (TimeTrackingFormat Hours), so Minutes wins over Hours.

Not yet documented: behaviour.

Datestring

Moves the absence to another date.

Time zone: not yet documented.

Not yet documented: constraints → timezone.

Commentstring

Free-text comment.

AdditionalCommentstring

Accepted by the model but not used.

  • always — The stored additional comment is kept; the sent value is discarded.

Responses

Success without content: HTTP 200 with the literal JSON body null. Body is the literal JSON null. Call GET to read the result.