---
title: "Retrieve applicable surcharges for a registration period"
method: POST
path: "/public/surcharges/v1/retrieve-surcharges"
tags: ["Surcharges"]
---

# Retrieve applicable surcharges for a registration period

`POST /public/surcharges/v1/retrieve-surcharges`

This endpoint calculates and returns applicable surcharges, based on the provided CAO number, function type, and registration periods.

Note: In case a CLA has set both a fixed amount and a factor for a surcharge and stacking rule higher, this endpoint will arbitrarily choose the factor-based surcharge.

## Request body

- SurchargeRequestV1
  - `caoNumber` integer, required — The CAO number relevant to the registration.
  - `companyId` string, uuid — The UUID of the company of the registration.
  - `functionType` string — The function type relevant to the registration.
  - `functionSubType` string — The function sub type relevant to the registration.
  - `registration` RegistrationPeriodV1, required — Registration period to calculate surcharges for.
    - `startDateTime` string, date-time, required — Start date and time of the registration period in UTC. Must be before endDateTime.
    - `endDateTime` string, date-time, required — End date and time of the registration period in UTC. Must be after startDateTime.

## Response `200`

Successfully retrieved applicable surcharges

- SurchargeResponseV1
  - `surcharges` SurchargeDetailV1[] — Array of applicable surcharges for the registration period.
    - `type` 'IRREGULARITY_ALLOWANCE' | 'OVERTIME' | 'PUBLIC_HOLIDAY', required — Type of surcharge applied.
    - `surchargeFactor` number, float — Factor to be applied as a surcharge (percentage-based).
    - `fixedSurchargeAmountPerHour` number — Fixed amount per hour to be applied as a surcharge (euro amount).
    - `startDateTime` string, date-time, required — Start date and time for the surcharge period in UTC.
    - `endDateTime` string, date-time, required — End date and time for the surcharge period in UTC.

## 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 valid credentials identifying the caller.
- `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)
