---
search:
  tags:
    - projects
    - PATCH
seo:
  description: >-
    What this endpoint does: Updates an existing… Reference for the PATCH
    /projects/{projectId}/manual-positions/{id} endpoint in the Leadtime Public
    API API.
sidebar:
  badge: PATCH
  label: Update an existing manual position
title: Update an existing manual position
type: openapi-operation
---
**What this endpoint does:**
Updates an existing manual position. Supports partial updates - you only need to provide the fields you want to change.

**How partial updates work:**
- Only provided fields are updated
- Fields not included in the request remain unchanged
- To remove a category, set categoryId to null
- Description can be updated with new HTML or Markdown content

**Description updates:**
- If description is provided, it will be converted from HTML/Markdown to internal IDoc format
- If description is not provided, the existing description remains unchanged
- Empty descriptions are allowed

**Validation rules:**
- Position must exist and belong to the specified project
- Name must not be empty if provided
- Price must be greater than or equal to 0 if provided
- Category ID must be a valid UUID if provided (or null to remove)
- Project must exist and user must have access

**Permission requirements:**
- Requires Projects.manageManualPositions permission
- Requires api:write scope
- Requires read access to the project

**Use cases:**
- Correct pricing or descriptions
- Update position details before creating quotes
- Reassign positions to different categories
- Modify positions based on client feedback

<Operation source="api-reference" id="projectmanualpositionscontroller-updatemanualposition" />
