---
title: "Update Public Workforce Position"
method: PATCH
path: "/v2/public/workforce-planning/positions/{position_id}"
tags: ["workforce-planning"]
---

# Update Public Workforce Position

`PATCH /v2/public/workforce-planning/positions/{position_id}`

## Path parameters

- `position_id` string, uuid, required

## Query parameters

- `workspace_id` string, nullable

## Headers

- `X-Workspace-Code` string

## Request body

- PositionUpdateRequest
  - `expected_version` integer, required
  - `title` string, nullable
  - `parent_position_id` string, uuid, nullable
  - `department` string, nullable
  - `team` string, nullable
  - `level` string, nullable
  - `location` string, nullable
  - `employment_type` string, nullable
  - `fte` number, nullable
  - `target_start_date` string, date, nullable
  - `planning_status` 'draft' | 'approved' | 'cancelled', nullable
  - `job_id` string, uuid, nullable
  - `employee_id` string, nullable

## Response `200`

Successful Response

- UpdatePublicWorkforcePosition200Envelope
  - `success` true, required
  - `data` WorkforcePositionData, required
    - `id` string, required
    - `display_id` integer, required
    - `parent_position_id` string, nullable
    - `title` string, required
    - `department` string, nullable
    - `team` string, nullable
    - `level` string, nullable
    - `location` string, nullable
    - `employment_type` string, nullable
    - `fte` number
    - `target_start_date` string, date, nullable
    - `planning_status` 'draft' | 'approved' | 'cancelled', required
    - `staffing_phase` 'planned' | 'ready_to_hire' | 'recruiting' | 'interviewing' | 'offer' | 'filled', required
    - `version` integer, required
    - `occupant` PositionOccupantData
      - `employee_id` string, nullable
      - `display_name` string, nullable
      - `profile_photo_url` string, nullable
      - `redacted` boolean
    - `job` PositionJobData
      - `id` string, required
      - `display_id` integer, required
      - `name` string, required
      - `status` string, required
      - `applicant_count` integer
      - `interview_count` integer
  - `meta` EnvelopeMeta, required
    - `ctx_id` string, required
    - `pagination` PaginationMeta
      - `page` integer, required
      - `page_size` integer, required
      - `total` integer, required
      - `next_cursor` string, nullable
    - `toast` ToastMessage
      - `variant` 'success' | 'error' | 'info' | 'warning', required
      - `code` string, required
      - `message` string, required
      - `i18n` ToastMessageI18n, required
        - `en` string, required
        - `ja` string, required

## Other responses

- `401` — Error response
- `422` — Error response

---

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