---
title: "Retrieves all functions for a collective labour agreement"
method: GET
path: "/public/collective-labour-agreement/v1/get-functions"
tags: ["Collective labour agreements"]
---

# Retrieves all functions for a collective labour agreement

`GET /public/collective-labour-agreement/v1/get-functions`

## Request

- Base URL: `https://api.maqqie.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maqqie.app/public/collective-labour-agreement/v1/get-functions`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://maqqie.app/auth/realms/maqqie/protocol/openid-connect/token`

Returns all functions for a collective labour agreements

## Query parameters

- `collectiveLabourAgreementNumber` integer, required: The unique number of the collective labour agreement, as returned from the /get-collective-labour-agreements endpoint.

## Response `200`

Success

- FunctionsV1[]
  - `functionId` string, uuid, required
  - `name` string, required
  - `functionLevels` string[], required: The possible function levels for this function, can be one or more
  - `functionTypes` string[], required: The possible function types for this function, can be empty, one or more
  - `functionNatures` FunctionNatureV1[], required: The possible function natures for this function, can be one or more

## 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`: Error. User not authorized.
- `403`: Forbidden. User is not authorized to access data.
- `404`: Collective labour agreement not found.
- `500`: Internal Server Error

## Changes

- **2026-09-29** `f9510f3f4b22`: 2 breaking, 5 info
  - the response's body type changed from no type to `string` for status `400`
  - the `items/` response's property type changed from no type to `object` for status `200`
  - added the required property `items/functionId` to the response with the `200` status
  - added the required property `items/functionLevels` to the response with the `200` status
  - …3 more
- **2026-09-29** `3352b56bb8fe`: 7 breaking, 3 info
  - the response's body type changed from `string` to no type for status `400`
  - the `items/` response's property type changed from `object` to no type for status `200`
  - removed the required property `items/functionId` from the response with the `200` status
  - removed the required property `items/functionLevels` from the response with the `200` status
  - …6 more
- **2026-09-16** `ccf9834e5006`: 2 breaking, 5 info
  - the response's body type changed from no type to `string` for status `400`
  - the `items/` response's property type changed from no type to `object` for status `200`
  - added the required property `items/functionId` to the response with the `200` status
  - added the required property `items/functionLevels` to the response with the `200` status
  - …3 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/maqqie/apis/maqqie-public-api/changes/public/collective-labour-agreement/v1/get-functions/get.md)

---

[API](https://skmtc.dev/maqqie/apis/maqqie-public-api.md) - [All operations](https://skmtc.dev/maqqie/apis/maqqie-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/maqqie/apis/maqqie-public-api/revisions/13ed331da2b2?raw)
