---
title: "Register hours for 1 or more temporary work payroll placements."
method: POST
path: "/public/hours-and-expenses/hirer/register-hours-for-temporary-work-payroll-placement-simple-v1"
tags: ["Hours and expenses, for hirers"]
---

# Register hours for 1 or more temporary work payroll placements.

`POST /public/hours-and-expenses/hirer/register-hours-for-temporary-work-payroll-placement-simple-v1`

Register hours for 1 or more temporary work payroll placements. The hours will still have to be approved on the Maqqie platform by the hirer.

The type of the registered hours is based on the collective agreement (collectieve arbeidsovereenkomst, CAO) that applies to the temporary work payroll placement. A single period being registered may contain multiple types, in which case the hours will be split into multiple periods.

All temporary work payroll placements must belong to the hirer that invokes this API.

## Request body

- SimpleHoursRegistrationForTemporaryWorkPayrollPlacementRequestV1
  - `hoursRegistrations` SimpleHoursRegistrationForTemporaryWorkPayrollPlacementV1[], required — The hours to be registered for temporary work payroll placements. The same temporary work payroll placement may occur multiple times.
    - `temporaryWorkPayrollPlacementId` integer, required — The ID of the temporary work payroll placement for which to register hours. This temporary work payroll placement must belong to the hirer that invokes this API.
    - `deduplicationId` string, nullable — Clients (a specific account) are allowed to generate a unique ID for each worked period, and send this ID with the period. If the ID already exists in the database (implying that the period has already been registered), the period will not be registered again. Note that there is no check to see if the data sent with a deduplication ID matches the data already in our database. If the ID matches, it is assumed that the data sent with the ID is the same as the data already in the database.
    - `startTimestamp` string, date-time, required — The start timestamp must be earlier than the end timestamp. This field, the end timestamp and the break duration are used to calculate the actual hours that the worker worked: end timestamp - start timestamp - break duration.
    - `endTimestamp` string, date-time, required — The end timestamp must be later than the start timestamp. This field, the start timestamp and the break duration are used to calculate the actual hours that the worker worked: end timestamp - start timestamp - break duration.
    - `breakDurationInMinutes` integer, nullable — The total number of minutes the worker had breaks between the start and end timestamps. This duration must be less than the number of minutes between the start and end timestamps. This field, the start timestamp and the end timestamp are used to calculate the actual hours that the worker worked: end timestamp - start timestamp - break duration.

## Response `204`

The operation completed successfully.

## Other responses

- `400` — The request could not be processed. This could be due to a number of reasons: * The request does not have all required data. * Data in the request is invalid. * Data in the request is inconsistent. * The operation is not allowed given the current state of the data.
- `401` — The request did not contain credentials identifying the caller, or the provided credentials were invalid.
- `403` — The data that the request referred to is inaccessible to the caller.

---

[API](https://skmtc.net/maqqie/apis/maqqie-platform-public-api.md) · [All operations](https://skmtc.net/maqqie/apis/maqqie-platform-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maqqie/maqqie-platform-public-api/revisions/5cb82e369b70/schema)
