---
title: "Update Position"
method: PATCH
path: "/workforce-planning/positions/{positionId}"
tags: ["Workforce Planning"]
---

# Update Position

`PATCH /workforce-planning/positions/{positionId}`

Updates an existing position **Notes:**<br> - Currently, you cannot use approval flows, which are not supported via the API.<br> - This endpoint requires linking the position to a job profile, and can be used only with Job Catalog 2.0. To retrieve the `jobProfile`, use the <a href="https://apidocs.hibob.com/reference/job-catalog">Job Catalog API</a>.<br> - For fields that require reference to a list in Bob (e.g. `department`), use the <a href="https://apidocs.hibob.com/reference/get_company-named-lists-listname">metadata endpoint</a> to fetch list values.<br> - For custom fields, use the Examples >  Request Example, and copy to an external API client tool to add custom fields to the payload.<br>

## Path parameters

- `positionId` number, required

## Request body

- PublicPositionUpdateRequest
  - `items` PublicPositionUpdateItem[], required
    - `objectType` 'position', required
    - `fields` PublicPositionUpdate, required
      - `/position/name` object — A unique identifier combined with text, numbers, and other characters of your choosing. When creating a position without passing the name, this will be automatically filled by the system, but it can be changed to reflect the format chosen by your organization.
        - `value` string, nullable
      - `/position/effectiveDate` object — The date from which this position is budgeted for and should be filled. This can be different from the Start date if the position is filled later than expected.
        - `value` string, date
      - `/position/managerPositionId` object — The manager's position backend-id (a reference to the manager's position in Bob), that allows the creation of a hierarchical org structure.
        - `value` number
      - `/position/positionType` object — The position's type is an open list of values in Bob. The value must be a valid list item. Out-of-the-box values include: `Growth`, `Promotion`, `Replacement` (list name: `positionType`).
        - `value` string
      - `/position/fte` object — A numeric field representing the job % allocated to each “chair.”
        - `value` number
      - `/position/employmentType` object — The position's employment type is an open list (list name: `payrollEmploymentType`) of values taken from your company’s Employment table. Out-of-the-box values: `Permanent`, `Temporary`, `Apprentice`, `Contractor`, `Non-guaranteed`.
        - `value` string
      - `/position/department` object — The position's department. Possible values depend on the values of the department list (list name: `department`).
        - `value` string
      - `/position/site` object — The position's site. Possible values are list-items from the sites list in Bob (list name: `site`).
        - `value` number
      - `/position/jobProfile` object — The backend ID of the job profile assigned to this position. Use the Job Catalog API to retrieve job profiles and their IDs. <br><br> **Note**: You must use **Job Catalog 2.0** in order to have access to job profiles.
        - `value` number
      - `/position/reason` object — Reason for changing or creating this position.
        - `value` string

## Response `200`

Position updated successfully

## Other responses

- `204` — No Content
- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/hibob/apis/employee-data-api.md) · [All operations](https://skmtc.net/hibob/apis/employee-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hibob/employee-data-api/versions/0781ebbdda91/schema)
