---
title: "Edit a declaration for an employment"
method: PUT
path: "/v2/providers/employers/employees/employments/declarations/{declarationId}"
tags: ["Declarations"]
---

# Edit a declaration for an employment

`PUT /v2/providers/employers/employees/employments/declarations/{declarationId}`

## Request

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

__Activity name :__ <a href="https://developer.loket.nl/Activities/PutDeclarationByDeclarationId" target="_blank">PutDeclarationByDeclarationId</a>

Edit a declaration for an employment. This is usually done by the employee.

## Path parameters

- `declarationId` string, uuid, required

## Headers

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

## Request body

- DeclarationObject
  - `id` string, uuid: The unique identifier of an object (GUID/UUID)
  - `payrollComponent` object: 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.
  - `declarationComment` string, nullable: The comment left by the employee
  - `declarationStatus` object: The current status of the declaration The status is changed by using the PATCH endpoint. 1 Open --> Accept or reject 2 Goedgekeurd ---> Process (not yet implemented) 3 Geweigerd ---> No changes possible 5 Verwerkt ---> No changes possible 6 Onverwerkbaar ---> No changes possible
    - `key` integer
    - `value` string
  - `dateOfSubmissionByEmployee` string, date-time: The time the declaration was submitted
  - `dateOfLastChangeByEmployee` string, date-time: The time the declaration was last changed
  - `processedInPayrollPeriod` object, nullable: If the declaration has been successfully processed then this object will show the payroll period for which a payrollPeriodData has been created. If the declaration has not yet been processed, then the value of this object will be null.
    - `year` integer: The year of the payroll period
    - `periodNumber` integer: The period (month [1 to 12] , 4 weeks [1 to 13] or week [1 to 53]) of the payroll period
    - `periodStartDate` string, date: The first day of the period
    - `periodEndDate` string, date: The last day of the period
  - `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

## Response `200`

OK

- 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` DeclarationObject
    - `id` string, uuid: The unique identifier of an object (GUID/UUID)
    - `payrollComponent` object: 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.
    - `declarationComment` string, nullable: The comment left by the employee
    - `declarationStatus` object: The current status of the declaration The status is changed by using the PATCH endpoint. 1 Open --> Accept or reject 2 Goedgekeurd ---> Process (not yet implemented) 3 Geweigerd ---> No changes possible 5 Verwerkt ---> No changes possible 6 Onverwerkbaar ---> No changes possible
      - `key` integer
      - `value` string
    - `dateOfSubmissionByEmployee` string, date-time: The time the declaration was submitted
    - `dateOfLastChangeByEmployee` string, date-time: The time the declaration was last changed
    - `processedInPayrollPeriod` object, nullable: If the declaration has been successfully processed then this object will show the payroll period for which a payrollPeriodData has been created. If the declaration has not yet been processed, then the value of this object will be null.
      - `year` integer: The year of the payroll period
      - `periodNumber` integer: The period (month [1 to 12] , 4 weeks [1 to 13] or week [1 to 53]) of the payroll period
      - `periodStartDate` string, date: The first day of the period
      - `periodEndDate` string, date: The last day of the period
    - `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

## Other responses

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

## Changes

- **2026-08-25** `b32a42be97f7`: 2 info
  - added the new optional request property `numberOfUnitsByAnalysis`
  - added the optional property `allOf[subschema #3]/content/numberOfUnitsByAnalysis` to the response with the `200` status

[Operation history](https://skmtc.dev/loket/apis/loket-api/changes/v2/providers/employers/employees/employments/declarations/:declarationId/put.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)
