> ## Documentation Index
> Fetch the complete documentation index at: https://developers.projectcor.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a user position

> Updates an existing user position.

If company has the feature flag to manage positions by labels enabled, field `segmentLabel` is required and will be used to group the position by label.

All fields in the request body are optional. Only provided fields will be updated.



## OpenAPI

````yaml /api-reference/openapi.json put /userPosition/{id}
openapi: 3.1.0
info:
  title: COR API
  description: >-
    The COR API lets you integrate with projectcor.com applications using simple
    HTTP methods, in either XML or JSON formats, making this an ideal API for
    developing integrations with other softwares, external clients or mobile
    applications
  version: 1.0.0
servers:
  - url: https://api.projectcor.com/v1
    description: Production server
security:
  - bearerAuth: []
paths:
  /userPosition/{id}:
    put:
      tags:
        - User Positions
      summary: Update a user position
      description: >-
        Updates an existing user position.


        If company has the feature flag to manage positions by labels enabled,
        field `segmentLabel` is required and will be used to group the position
        by label.


        All fields in the request body are optional. Only provided fields will
        be updated.
      parameters:
        - name: id
          in: path
          required: true
          description: User position ID
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPositionUpdateInput'
      responses:
        '200':
          description: User position updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPosition'
        '400':
          description: >-
            Validation error or missing segmentLabel when feature flag is
            enabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                validationError:
                  value:
                    status: 400
                    name: CORCustomError
                    code: UC010
                    message: Validation error message
                missingSegmentLabel:
                  value:
                    status: 400
                    name: CORCustomError
                    code: UP001
                    message: Segment label is required
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    UserPositionUpdateInput:
      type: object
      properties:
        name:
          type: string
          description: >-
            Position name. Must be unique within the company and pass validation
            rules if provided.
        rate:
          type: number
          description: Base rate for the position
        seniority:
          type: string
          nullable: true
          description: Seniority level of the position
        segmentLabel:
          type: string
          nullable: true
          description: >-
            Segment label used to group positions. Required only if company has
            feature flag to manage positions by labels enabled. Ignored if
            feature flag is not enabled.
    UserPosition:
      properties:
        id:
          type: integer
        name:
          type: string
        user_position_category_id:
          type: number
        type:
          type: string
          enum:
            - C
            - P
          description: 'Type of position: ''C'' for category, ''P'' for position'
        rate:
          type: integer
        seniority:
          type: string
        company_id:
          type: integer
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````