---
title: "Update the work section for a given employee id."
method: PUT
path: "/employees/{employeeId}/works"
tags: ["Employees"]
---

# Update the work section for a given employee id.

`PUT /employees/{employeeId}/works`

This endpoint updates the employee **work** section for a given employee id. The operation only updates the fields provided in the body.
<br><br>**Custom fields** information can be provided in this operation. The *API name* of the custom field is required and the data format has to match with the type defined for the custom field in Kenjo.
API names start with 'c_' and the rest is composed by the trimmed name (spaces are removed).
<br><br>
Example:
<br>
*The custom field 'activity type' belongs to the 'personal' section*:
  ```
  {
    ...,
    "companyId": "61d874aef37c05cfba4f1b38",
    "c_activityType": "1",
    ...
  }
```
*'activity Type' is a field type 'List' (Strings list) with the possible values: "1" and "2". It means that if a different value or type is provided then the request will return an error.*

## Path parameters

- `employeeId` string, required

## Headers

- `Authorization` string, required

## Request body

- object
  - `companyId` string — The company id of the Kenjo employee.
  - `officeId` string — The office id of the Kenjo employee.
  - `departmentId` string — The department id of the Kenjo employee.
  - `startDate` string — The starting date of the Kenjo employee in format YYYY-MM-DDThh:mm:ss.
  - `jobTitle` string — The job title of the employee.
  - `workPhone` string — The work phone of the employee.
  - `workMobile` string — The work mobile of the employee.
  - `isAssistant` boolean — Allow to indicate if the employee has or not the assistant role.
  - `probationPeriodEnd` string — The probation period of the employee. Format YYYY-MM-DDThh:mm:ss.000Z.
  - `contractEnd` string — The contract end date of the employee. Format YYYY-MM-DDThh:mm:ss.000Z.
  - `reportsToId` string — The Kenjo employee id of the user to whom the employee reports. The employee id to assign can be an active or inactive user. Trying to assign the own employee id or the id of someone who is already reporting will arise an error.

## Response `200`

OK

- object
  - `_id` string — The employee Kenjo *_id*.
  - `companyId` string — The company id of the Kenjo employee.
  - `officeId` string — The office id of the Kenjo employee.
  - `departmentId` string — The department id of the Kenjo employee.
  - `startDate` string — The starting date of the Kenjo employee in format YYYY-MM-DDThh:mm:ss.
  - `jobTitle` string — The job title of the employee.
  - `workPhone` string — The work phone of the employee.
  - `workMobile` string — The work mobile of the employee.
  - `isAssistant` boolean — Allow to indicate if the employee has or not the assistant role.
  - `probationPeriodEnd` string — The probation period of the employee. Format YYYY-MM-DDThh:mm:ss.000Z.
  - `contractEnd` string — The contract end date of the employee. Format YYYY-MM-DDThh:mm:ss.000Z.
  - `reportsToId` string — The Kenjo employee id of the user to whom the employee reports. The employee id to assign can be an active or inactive user. Trying to assign the own employee id or the id of someone who is already reporting will arise an error.

## Other responses

- `400` — BAD REQUEST. This is a wrong request in the client side due to invalid body or params.
- `401` — UNAUTHORIZED. The Authorization header is incorrect, not provided or the token expired.

---

[API](https://skmtc.net/kenjo/apis/kenjo-api.md) · [All operations](https://skmtc.net/kenjo/apis/kenjo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kenjo/kenjo-api/revisions/58772b78268e/schema)
