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

# Update Position

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

## Request

- Base URL: `https://api.hibob.com/v1`
- URL: `https://api.hibob.com/v1/workforce-planning/positions/{positionId}`
- Auth: one of:
  - HTTP basic
  - HTTP bearer

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.dev/hibob/apis/workforce-planning-api.md) - [All operations](https://skmtc.dev/hibob/apis/workforce-planning-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hibob/apis/workforce-planning-api/revisions/07e0d5841251?raw)
