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

# Edit Worker

> Updates an existing worker profile. Only include the fields you want to change — all fields are optional.

<Info>
  This is a partial update — only include the fields you want to change. Omitted fields remain unchanged.
</Info>


## OpenAPI

````yaml api-reference/v01.12.00/openapi-v01.12.00.json PATCH /workers/{id}
openapi: 3.0.0
info:
  title: Roosted
  version: 0.1.12
  contact:
    name: Support
    url: https://support.roostedhr.com/support/home
    email: support@roostedhr.com
  description: |-
    Enterprise API

    Sandbox keys and Production keys are requested from support
servers:
  - url: https://api.roostedhr.com/api/1_12
  - url: https://sandbox.roostedhr.com/api/1_12
security:
  - X-API-KEY: []
tags:
  - name: Announcements
  - name: Areas
  - name: Clients
  - name: Company
  - name: Configuration
  - name: Events
  - name: Locations
  - name: Payroll Groups
  - name: Rate Cards
  - name: Shifts
  - name: Skillsets
  - name: Time Tracking
  - name: Wage Rules
  - name: Workers
paths:
  /workers/{id}:
    parameters:
      - schema:
          type: string
        name: id
        in: path
        required: true
        description: Worker ID
    patch:
      tags:
        - Workers
      summary: Edit Worker
      description: >-
        Updates an existing worker profile. Only include the fields you want to
        change — all fields are optional.
      operationId: patch-worker
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditWorkerRequest'
      responses:
        '200':
          description: Worker updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Worker'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Invalid field:
                  value:
                    code: WRK-500
                    error: 'Invalid field: email'
                No update fields provided:
                  value:
                    code: WRK-500
                    error: No update fields provided
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Invalid or missing API key:
                  value:
                    code: ATH-100
                    error: Invalid or missing API key
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Insufficient permissions:
                  value:
                    code: WRK-800
                    error: Insufficient permissions to manage workers
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Worker not found:
                  value:
                    code: WRK-300
                    error: Worker not found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    description: Machine-readable error code.
                  error:
                    type: string
                    description: Human-readable error message.
              examples:
                Unexpected error during update:
                  value:
                    code: WRK-600
                    error: An unexpected error occurred while updating the worker
                Failed to update worker:
                  value:
                    code: WRK-310
                    error: Failed to update worker
components:
  schemas:
    EditWorkerRequest:
      type: object
      description: All fields are optional — include only the fields you want to update.
      properties:
        name_first:
          type: string
          description: Worker's full name.
        email:
          type: string
          description: Worker's email address.
        phone:
          type: string
          description: Worker's phone number including country code (e.g. `+12125551234`).
        country_id:
          type: number
          description: >-
            Country identifier. Use [GET
            /countries](/api-reference/v01.12.00/configuration/get-countries) to
            look up valid values.
        birth_date:
          type: string
          format: date
          description: Worker's date of birth in `YYYY-MM-DD` format.
        address:
          type: string
          description: Street address.
        city:
          type: string
          description: City.
        zip:
          type: string
          description: ZIP or postal code.
    Worker:
      type: object
      description: >-
        A worker profile with personal information, status flags, and assigned
        skillsets/areas.
      properties:
        id:
          type: string
          description: Worker identifier
        reference_id:
          type: string
          description: External reference identifier
        signup_date:
          type: string
          description: Formatted signup date (e.g. "September 28th 2019")
        signup_date_original:
          type: string
          description: Raw signup timestamp (YYYY-MM-DD HH:mm:ss)
        last_login:
          type: string
          nullable: true
          description: Formatted last login date
        last_login_original:
          type: string
          nullable: true
          description: Raw last login timestamp
        next_shift_date:
          type: string
          nullable: true
          description: Formatted next scheduled shift date
        next_shift_date_original:
          type: string
          nullable: true
          description: Raw next shift timestamp
        last_shift_date:
          type: string
          nullable: true
          description: Formatted last shift date
        last_shift_date_original:
          type: string
          nullable: true
          description: Raw last shift timestamp
        account_status:
          type: integer
          enum:
            - 0
            - 2
            - 86
          description: 'Worker account status: `0` = pending, `2` = active, `86` = inactive'
        name_first:
          type: string
          description: Worker's first name
        email:
          type: string
          nullable: true
          description: Worker's email address
        phone:
          type: string
          nullable: true
          description: Worker's phone number
        address:
          type: string
          description: Street address
        city:
          type: string
          description: City
        zip:
          type: string
          description: ZIP/postal code
        country_id:
          type: number
          description: Country identifier
        areas:
          type: array
          items:
            $ref: '#/components/schemas/WorkerArea'
          description: Areas assigned to this worker
        bad_phone_number:
          type: integer
          enum:
            - 0
            - 1
          description: Whether the phone number is flagged as bad
        texting_off:
          type: integer
          nullable: true
          enum:
            - 0
            - 1
          description: Whether texting is disabled for this worker
        latitude:
          type: string
          nullable: true
          description: Worker's latitude coordinate
        longitude:
          type: string
          nullable: true
          description: Worker's longitude coordinate
        multilogin:
          type: integer
          enum:
            - 0
            - 1
          description: Whether multi-login is enabled
        onboarded:
          type: integer
          enum:
            - 0
            - 1
          description: Whether the worker has completed onboarding
        app_notifications_active:
          type: integer
          enum:
            - 0
            - 1
          description: Whether app notifications are active
        app_notifications_preferred:
          type: integer
          nullable: true
          enum:
            - 0
            - 1
          description: Whether app notifications are the preferred method
        current_worker:
          type: integer
          enum:
            - 0
            - 1
          description: Whether this is a current worker
        admin:
          type: integer
          enum:
            - 0
            - 1
          description: Whether the worker has admin privileges
        owner:
          type: integer
          enum:
            - 0
            - 1
          description: Whether the worker is an owner
        selected:
          type: string
          nullable: true
          description: Selection state
        selected_picture_location:
          type: string
          nullable: true
          description: Profile picture path
        pending_document_signing_count:
          type: integer
          description: Number of documents awaiting the worker's signature
        total_shifts:
          type: string
          description: Total number of shifts worked
        last_noshow:
          type: string
          nullable: true
          description: Date of last no-show, if any
        no_id:
          type: boolean
          description: Whether the worker lacks an ID on file
        stars:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
          description: Worker star rating (1–5)
        skillsets:
          type: array
          items:
            $ref: '#/components/schemas/WorkerSkillset'
          description: Skillsets assigned to this worker
        pullTimestamp:
          type: integer
          description: Unix timestamp of when this data was retrieved
    WorkerArea:
      type: object
      description: Area assigned to a worker.
      properties:
        id:
          type: string
          description: Area identifier
        name:
          type: string
          description: Area display name
    WorkerSkillset:
      type: object
      description: Skillset assigned to a worker.
      properties:
        roles_id:
          type: string
          description: Skillset identifier
        role_title:
          type: string
          description: Skillset display name
  securitySchemes:
    X-API-KEY:
      name: X-API-KEY
      type: apiKey
      in: header

````