---
title: "Get registrations for the calling company"
method: POST
path: "/public/registrations/v1/get-registrations"
tags: ["Registration"]
---

# Get registrations for the calling company

`POST /public/registrations/v1/get-registrations`

Lists all non-deleted registrations for the company of the caller, grouped per registration with the
individual registration lines nested. A single registration is associated with 1 or more registration lines,
for example normal hours plus a surcharge line.

The line amounts reflect the values at registration/approval time: `price`/`pricePerUnit` are the amounts
charged to the company, `wageAmount`/`wagePerUnit` are the gross wage amounts for the worker.

**Filters**

All filters are optional and combined with AND. A registration is included when at least one of its lines
matches all filters, and it contains **only the matching lines**. For example, when filtering on a date range,
lines of the same registration that fall outside the range are omitted from the response.

**Paging**

Results are paged over registrations (not lines), ordered by the earliest matching line date per registration.
Paging is controlled by the `page` object in the request; defaults are `number=0` and `size=25`.

## Request body

- GetRegistrationsRequestV1
  - `startDate` string, date — Inclusive lower bound for the registration line date. Format: ISO 8601 (YYYY-MM-DD).
  - `endDate` string, date — Inclusive upper bound for the registration line date. Format: ISO 8601 (YYYY-MM-DD).
  - `workerId` string, uuid — The UUID of the worker to filter registrations by.
  - `placementId` string, uuid — The UUID of the placement to filter registrations by.
  - `page` PageRequestV1 — Generic paging request parameters, reusable across public API endpoints. If omitted, defaults are number=0, size=25.
    - `number` integer — Zero-based page index.
    - `size` integer — Number of items per page. No maximum is enforced — callers running automated bulk fetches may request larger pages.

## Response `200`

Successfully listed the registrations matching the filters.

- GetRegistrationsResponseV1
  - `registrations` RegistrationV1[], required — The registrations on this page, each with its nested registration lines.
    - `registrationId` string, uuid, required — Unique identifier of a registration. A single registration is associated with 1 or more registration lines, including normal hours, overtime and surcharges.
    - `lines` RegistrationLineV1[], required — The registration lines belonging to this registration.
      - `id` string, uuid, required — Unique identifier of this registration line.
      - `placementId` string, uuid, required — The UUID of the placement this line was registered on.
      - `workerId` string, uuid, required — The UUID of the worker this line was registered for.
      - `date` string, date, required — The date of the registration line. Format: ISO 8601 (YYYY-MM-DD).
      - `status` 'REGISTERED' | 'FOR_APPROVAL' | 'COMPANY_REGISTERED' | 'APPROVED' | 'REJECTED' | 'EXPIRED', required — The status of a registration line.
      - `wageComponent` 'REGULAR_HOURS' | 'SURCHARGE' | 'OVERTIME' | 'TRAVEL_ALLOWANCE' | 'GROSS_COMPENSATION' | 'OTHER', required — The wage component classification of a registration line.
      - `wageComponentDescription` string — Human-readable (Dutch) description of the wage component, useful to disambiguate `OTHER`.
      - `quantity` number, required — The quantity of this line (hours, kilometers, days or euros, depending on `unit`). The approved quantity when the line has been approved, otherwise the registered quantity.
      - `unit` 'HOUR' | 'KM' | 'DAY' | 'EURO', required — The unit of `quantity`.
      - `startTime` string, date-time — The timestamp when the work period started. Only present for lines registered with explicit start and end times, such as worked hours. Format: ISO 8601, in UTC.
      - `endTime` string, date-time — The timestamp when the work period ended. Only present for lines registered with explicit start and end times, such as worked hours. Format: ISO 8601, in UTC.
      - `breakDuration` string, duration — The combined duration of breaks taken during the work period. Only present for lines registered with a break duration. Format: ISO 8601 (e.g., PT1H30M).
      - `surchargeFactor` number, double, required — The surcharge factor applied to this line. 1.0 when no surcharge applies.
      - `price` number — The total amount charged to the company for this line, in €.
      - `pricePerUnit` number — The rate charged to the company per unit, in €.
      - `wageAmount` number — The total gross wage of the worker for this line, in €.
      - `wagePerUnit` number — The gross wage rate of the worker per unit, in €, excluding any surcharge factor.
  - `page` PageV1, required — Generic paging metadata returned alongside a page of results, reusable across public API endpoints.
    - `number` integer, required — Zero-based index of the returned page.
    - `size` integer, required — The requested page size. The last page may contain fewer items.
    - `totalElements` integer, required — Total number of items matching the query across all pages.
    - `totalPages` integer, required — Total number of pages available for the query.

## Other responses

- `400` — The request could not be processed. This could be due to a number of reasons: * Data in the request is invalid. * Data in the request is inconsistent.
- `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-public-api.md) · [All operations](https://skmtc.net/maqqie/apis/maqqie-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maqqie/maqqie-public-api/revisions/41e5cd97d4d7/schema)
