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

# Update an employee



## OpenAPI

````yaml /spec/openapi.json put /employees/{employee}
openapi: 3.0.0
info:
  title: Nmbr API
  description: API to interact with Nmbr Payroll
  version: 1.0.0
servers:
  - url: https://sandbox.nmbr.co/services/payroll
security:
  - CompanyToken: []
tags:
  - name: Accounting Codes
  - name: Accounting Code Rules
  - name: Adjustments
  - name: Allowances
  - name: Allowance Line Items
  - name: Allowance Types
  - name: Async Tasks
  - name: Bank Accounts
  - name: Business Entities
  - name: Business Entity Verifications
  - name: Business Entity ROE Authorizations
  - name: Business Presets
  - name: Calculations
  - name: Companies
  - name: Contractors
  - name: Deductions
  - name: Deduction Line Items
  - name: Deduction Types
  - name: Earnings
  - name: Earning Line Items
  - name: Earning Types
  - name: Effective Tax Properties
  - name: Employees
  - name: Employee Benefits
  - name: Employee Benefit Line Items
  - name: Employee Benefit Types
  - name: Employer Benefits
  - name: Employer Benefit Line Items
  - name: Employer Benefit Types
  - name: Employer Statutory Withholding Line Items
  - name: Employer Statutory Withholding Types
  - name: Forms
  - name: Form Batches
  - name: Form Types
  - name: Holidays
  - name: Integrations
  - name: Journal Entries
  - name: Overtime Rates
  - name: Partners
  - name: Pay Rates
  - name: Pay Schedules
  - name: Pay Splits
  - name: Pay Stubs
  - name: Payments
  - name: Payrolls
  - name: Reimbursements
  - name: Reimbursement Line Items
  - name: Reimbursement Types
  - name: Remittance Accounts
  - name: Remittance Account Enrollments
  - name: Reports
  - name: Statutory Withholding Line Items
  - name: Statutory Withholding Types
  - name: Tags
  - name: Tag Groups
  - name: Tax Properties
  - name: Tax Property Templates
  - name: Tokens
  - name: Usage Records
  - name: Usage Summaries
  - name: Vacation Pay
  - name: Vacation Pay Settings
  - name: Webhooks
  - name: Work Assignments
paths:
  /employees/{employee}:
    put:
      tags:
        - Employees
      summary: Update an employee
      operationId: employees-update
      parameters:
        - name: employee
          in: path
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                employee_number:
                  type: string
                  description: >-
                    An optional identifier for the employee within the partner's
                    system, such as a badge number or HR system ID. Distinct
                    from `id` and `external_ref`.
                  nullable: true
                  maxLength: 40
                first_name:
                  type: string
                  description: The employee's first name.
                  maxLength: 50
                last_name:
                  type: string
                  description: The employee's last name.
                  maxLength: 50
                middle_initial:
                  type: string
                  description: The employee's middle initial.
                  nullable: true
                  maxLength: 1
                personal_email:
                  type: string
                  description: >-
                    The employee's personal email address, used as the primary
                    address for payroll communications such as Pay Stub emails.
                  nullable: true
                work_email:
                  type: string
                  description: >-
                    The employee's work email address. Used for payroll
                    communications if `personal_email` is not set.
                  nullable: true
                address_line_1:
                  type: string
                  description: >-
                    The first line of the employee's mailing address. Canada
                    Revenue Agency forms (T4, RL-1) truncate this to the length
                    those forms allow.
                  nullable: true
                address_line_2:
                  type: string
                  description: >-
                    The second line of the employee's mailing address. Canada
                    Revenue Agency forms (T4, RL-1) truncate this to the length
                    those forms allow.
                  nullable: true
                city:
                  type: string
                  description: The city of the employee's mailing address.
                  nullable: true
                administrative_area:
                  type: string
                  description: >-
                    The region of the employee's mailing address — the province,
                    state, or county, depending on the country. For Canadian
                    employees this is the Province of Residence (POR), not the
                    Province of Employment (POE) or Province of Work (POW). POE
                    and POW are configured via the Work Assignment's Tax
                    Properties.
                  nullable: true
                  maxLength: 255
                province_code:
                  type: string
                  description: >-
                    This attribute is deprecated and will be removed.


                    A deprecated alias of `administrative_area` that mirrors its
                    value. Use `administrative_area` instead.


                    In Canada, must be an uppercase 2-letter province code:
                    `AB`, `BC`, `MB`, `NB`, `NL`, `NS`, `NT`, `NU`, `ON`, `PE`,
                    `QC`, `SK`, `YT`
                  nullable: true
                  deprecated: true
                country_code:
                  type: string
                  description: The country code for the employee's mailing address.
                  enum:
                    - CA
                    - GB
                postal_code:
                  type: string
                  description: The postal code for the employee's mailing address.
                  nullable: true
                  maxLength: 10
                sin:
                  type: string
                  description: >-
                    The employee's Social Insurance Number (SIN), used for tax
                    reporting.
                date_of_birth:
                  type: string
                  description: The employee's date of birth.
                  format: date
                external_ref:
                  type: string
                  maxLength: 255
                preferred_locale:
                  type: string
                  description: >-
                    The locale used for payroll communications sent to this
                    employee, such as Pay Stub emails. If not set, the Business
                    Entity's locale is used.
                  enum:
                    - en
                    - fr
                archived_at:
                  type: string
                  description: >-
                    The date the employee was archived. Archiving an employee
                    also archives all Work Assignments that are not already
                    archived. Archived employees do not appear in active
                    listings.
                  format: date
            example:
              employee_number: '001'
              first_name: Marley
              last_name: Prosacco
              personal_email: marley.prosacco@personal.test
              work_email: mprosacco@work.test
              address_line_1: Angelina Ridge
              city: Toronto
              administrative_area: 'ON'
              country_code: CA
              postal_code: M1M1M1
              sin: '196710156'
              date_of_birth: '1985-01-20'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The unique identifier of the object in Nmbr.
                    readOnly: true
                  object:
                    type: string
                    description: The type of the object in Nmbr (`"employee"`).
                    readOnly: true
                  data:
                    $ref: '#/components/schemas/Employee'
              example:
                id: <id>
                object: employee
                data:
                  company:
                    id: <id>
                    object: company
                    links:
                      self: /companies/<id>
                  employee_number: '001'
                  first_name: Marley
                  last_name: Prosacco
                  middle_initial: null
                  personal_email: marley.prosacco@personal.test
                  work_email: mprosacco@work.test
                  address_line_1: Angelina Ridge
                  address_line_2: null
                  city: Toronto
                  administrative_area: 'ON'
                  province_code: 'ON'
                  country_code: CA
                  postal_code: M1M1M1
                  sin: '196710156'
                  sin_last_3: '156'
                  date_of_birth: '1985-01-20'
                  warnings:
                    object: list
                    data:
                      - object: warning
                        data:
                          namespace: onboarding
                          type: bank_account_doesnt_exists
                  external_ref: null
                  preferred_locale: null
                  archived_at: null
                  created_at: '2026-01-01T00:00:00.000000Z'
                  updated_at: '2026-01-01T00:00:00.000000Z'
                links:
                  self: /employees/<id>
components:
  schemas:
    Employee:
      type: object
      title: Employee
      properties:
        company:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier of the object in Nmbr.
              readOnly: true
            object:
              type: string
              description: The type of the object in Nmbr (`"company"`).
              readOnly: true
        employee_number:
          type: string
          description: >-
            An optional identifier for the employee within the partner's system,
            such as a badge number or HR system ID. Distinct from `id` and
            `external_ref`.
          nullable: true
          maxLength: 40
        first_name:
          type: string
          description: The employee's first name.
          maxLength: 50
        last_name:
          type: string
          description: The employee's last name.
          maxLength: 50
        middle_initial:
          type: string
          description: The employee's middle initial.
          nullable: true
          maxLength: 1
        personal_email:
          type: string
          description: >-
            The employee's personal email address, used as the primary address
            for payroll communications such as Pay Stub emails.
          nullable: true
          maxLength: 255
        work_email:
          type: string
          description: >-
            The employee's work email address. Used for payroll communications
            if `personal_email` is not set.
          nullable: true
          maxLength: 255
        address_line_1:
          type: string
          description: >-
            The first line of the employee's mailing address. Canada Revenue
            Agency forms (T4, RL-1) truncate this to the length those forms
            allow.
          nullable: true
          maxLength: 255
        address_line_2:
          type: string
          description: >-
            The second line of the employee's mailing address. Canada Revenue
            Agency forms (T4, RL-1) truncate this to the length those forms
            allow.
          nullable: true
          maxLength: 255
        city:
          type: string
          description: The city of the employee's mailing address.
          nullable: true
          maxLength: 255
        administrative_area:
          type: string
          description: >-
            The region of the employee's mailing address — the province, state,
            or county, depending on the country. For Canadian employees this is
            the Province of Residence (POR), not the Province of Employment
            (POE) or Province of Work (POW). POE and POW are configured via the
            Work Assignment's Tax Properties.
          nullable: true
          maxLength: 255
        province_code:
          type: string
          description: >-
            This attribute is deprecated and will be removed.


            A deprecated alias of `administrative_area` that mirrors its value.
            Use `administrative_area` instead.
          nullable: true
          deprecated: true
        country_code:
          type: string
          description: The country code for the employee's mailing address.
          nullable: true
          maxLength: 2
          enum:
            - CA
            - GB
        postal_code:
          type: string
          description: The postal code for the employee's mailing address.
          nullable: true
          maxLength: 10
        sin:
          type: string
          description: >-
            This attribute is deprecated and will be removed.


            The employee's Social Insurance Number (SIN), used for tax
            reporting.


            If you only need the last 3 digits for display purposes, use
            `sin_last_3` instead. If you need the complete SIN, use the
            `/employees/:id/reveal` endpoint instead. Note the `/reveal`
            endpoint can only reveal one employee at a time and is rate-limited
            for security reasons.
          nullable: true
          deprecated: true
        sin_last_3:
          type: string
          description: >-
            The last 3 digits of the employee's Social Insurance Number (SIN).
            `null` if no SIN has been provided.
          nullable: true
        date_of_birth:
          type: string
          description: The employee's date of birth.
          nullable: true
          format: date
        warnings:
          type: object
          description: >-
            A collection of data validation warnings for this employee. Warnings
            indicate incomplete or potentially incorrect data and could prevent
            payroll processing.
          nullable: true
          properties:
            object:
              type: string
              nullable: true
            data:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  object:
                    type: string
                    nullable: true
                  data:
                    type: object
                    nullable: true
                    properties:
                      namespace:
                        type: string
                        nullable: true
                      type:
                        type: string
                        nullable: true
        external_ref:
          type: string
          description: >-
            A reference to the object in an external system, e.g. the primary
            key of the object in your application's database. Nmbr doesn't use,
            validate, parse, or require this value to be unique - it simply
            stores it for your reference.
          nullable: true
          maxLength: 255
        preferred_locale:
          type: string
          description: >-
            The locale used for payroll communications sent to this employee,
            such as Pay Stub emails. If not set, the Business Entity's locale is
            used.
          nullable: true
          enum:
            - en
            - fr
        archived_at:
          type: string
          description: >-
            The date the employee was archived. Archiving an employee also
            archives all Work Assignments that are not already archived.
            Archived employees do not appear in active listings.
          readOnly: true
          nullable: true
          format: dateTime
        created_at:
          type: string
          description: The date and time the object was created in Nmbr.
          readOnly: true
          format: dateTime
        updated_at:
          type: string
          description: The date and time the object was last updated in Nmbr.
          readOnly: true
          format: dateTime
  securitySchemes:
    CompanyToken:
      type: http
      scheme: bearer

````