---
title: "Initiate the declaration workflow for an employment"
method: POST
path: "/v2/providers/employers/employees/employments/{employmentId}/workflow/InitiateDeclaration"
tags: ["Workflow employment"]
---

# Initiate the declaration workflow for an employment

`POST /v2/providers/employers/employees/employments/{employmentId}/workflow/InitiateDeclaration`

## Request

- Base URL: `https://api.loket.nl`
- URL: `https://api.loket.nl/v2/providers/employers/employees/employments/{employmentId}/workflow/InitiateDeclaration`
- Auth: none required

__Activity name:__ <a href="https://developer.loket.nl/Activities/PostInitiateDeclarationWorkflowByEmploymentId" target="_blank">PostInitiateDeclarationWorkflowByEmploymentId</a><br>  <br><br>Allows the user to trigger a workflow to start a declaration for an employment. The workflow may require the change to be approved.<br><br>__Metadata :__ Possible options for fields of the type 'metadata' can be acquired (GET) by adding `/metadata` to the POST URL.<br><br>__Defaults :__ none<br>

## Path parameters

- `employmentId` string, uuid, required

## Headers

- `Authorization` string, required
- `Accept` string, required

## Request body

- DeclarationRequest
  - `payrollComponent` PayrollComponent: A payroll component is the link to the salary calculation. By setting the value of a component the salary calculation will take this value into account when calculating the wage of the employment for the given payroll period.
    - `key` integer: The number for the payroll component. This number has meaning to payroll professionals using Loket who often know it by heart.
    - `description` string: The description of the payroll component
    - `deviatingDescription` string, nullable: A longer and more user-friendly description of the payroll component.
    - `deductionOrPayment` object, nullable: Indicates if the value of the payroll component will be deducted from or added to the salary. In case the component is neither a deduction or a payment, NULL is returned.
      - `key` integer
      - `value` string
    - `routeType` object, nullable: The route type determines how the route is calculate. __Note:__ NULL means route calculation is disabled
      - `key` integer
      - `value` string
  - `calculatedDistanceByRoutingService` number, double, nullable: The value calulated by the routing service
  - `numberOfUnits` number, double: The number of units requested
  - `numberOfUnitsByAnalysis` number, double, nullable: The number of units scanned by the azure document intelligence analysis (uses the total value from PostAnalyzeReceiptByEmploymentId response)
  - `declarationDate` string, date: The date to which the declaration is applicable. As requested by the employee.
  - `reasonForDeviatingFromCalculatedDistance` string, nullable: The reason why the employee deviated form the calculated distance.
  - `route` object[], nullable: If applicable contains the addresses of stops used to calculate the route. The order of the items in the array is equal to the order of the route taken.
    - `pointOfInterest` object, nullable
      - `name` string, nullable: The name of the point of interest
    - `address` object
      - `freeformAddress` string: description of the address
      - `countryCode` string, nullable: isocode of the country
    - `position` object
      - `latitude` number, double: latitude for the address
      - `longitude` number, double: longitude for the address
  - `comment` string, nullable: An extra comment for the declaration request

## Response `202`

Accepted

- object: a warning indacateds that the given payload is valide, however take notice of the warning this might ifluence behavour.
  - `version` Version
    - `obsoleteDate` string, date, nullable: The date (can be null) on which the `resourceVersion` is no longer supported/available
    - `resourceVersion` string, date: The resource version of the object in the response
  - `messages` object[]
    - `type` string: Indication of the type of message. See [the general documentation for more information](./#section/Response/Messages)
    - `description` string: Describes the message
    - `id` string, uuid, nullable: In some cases when the message may relate to a specific entity, or specific group of entities, this field provides the identifier of that entity
    - `code` integer: Identifying code for the message
    - `properties` string[]: An array that can contain additional information
  - `content` DeclarationResponse
    - `id` string, uuid: The unique identifier of an object (GUID/UUID)

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error

## Changes

- **2026-08-25** `b32a42be97f7`: 1 info
  - added the new optional request property `numberOfUnitsByAnalysis`

[Operation history](https://skmtc.dev/loket/apis/loket-api/changes/v2/providers/employers/employees/employments/:employmentId/workflow/InitiateDeclaration/post.md)

---

[API](https://skmtc.dev/loket/apis/loket-api.md) - [All operations](https://skmtc.dev/loket/apis/loket-api/llms.txt) - [OpenAPI document](https://skmtc.dev/loket/apis/loket-api/revisions/32170564148f?raw)
