> ## 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 a contractor



## OpenAPI

````yaml /spec/openapi.json put /contractors/{contractor}
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:
  /contractors/{contractor}:
    put:
      tags:
        - Contractors
      summary: Update a contractor
      operationId: contractors-update
      parameters:
        - name: contractor
          in: path
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: >-
                    The contractor's business or corporation name. `null` for
                    individual contractors.
                  nullable: true
                  maxLength: 255
                first_name:
                  type: string
                  description: >-
                    The contractor's first name. `null` for corporation
                    contractors.
                  nullable: true
                  maxLength: 50
                last_name:
                  type: string
                  description: >-
                    The contractor's last name. `null` for corporation
                    contractors.
                  nullable: true
                  maxLength: 50
                middle_initial:
                  type: string
                  description: >-
                    The contractor's middle initial. `null` for corporation
                    contractors.
                  nullable: true
                  maxLength: 1
                email:
                  type: string
                  description: >-
                    The contractor's email address, used for payroll
                    communications.
                business_number:
                  type: string
                  description: >-
                    The contractor's 15-character (BN15) Canada Revenue Agency
                    (CRA) program account number, consisting of a 9-digit
                    Business Number (BN), a 2-letter program identifier, and a
                    4-digit reference number. `null` for individual contractors.
                sin:
                  type: string
                  description: >-
                    The contractor's Social Insurance Number (SIN). `null` for
                    corporation contractors.
                external_ref:
                  type: string
                  maxLength: 255
                preferred_locale:
                  type: string
                  description: >-
                    The locale used for payroll communications sent to this
                    contractor, 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 contractor was archived. Archiving a contractor
                    also archives all Work Assignments that are not already
                    archived. Archived contractors do not appear in active
                    listings.
                  format: date
            example:
              business_name: Contractor Co
              first_name: John
              last_name: Smith
              email: john@smith.com
              external_ref: <external_ref>
      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 (`"contractor"`).
                    readOnly: true
                  data:
                    $ref: '#/components/schemas/Contractor'
              example:
                id: <id>
                object: contractor
                data:
                  business_name: Contractor Co
                  first_name: John
                  last_name: Smith
                  middle_initial: null
                  email: john@smith.com
                  business_number: null
                  sin_last_3: null
                  external_ref: <external_ref>
                  preferred_locale: null
                  archived_at: null
                  created_at: '2026-01-01T00:00:00.000000Z'
                  updated_at: '2026-01-01T00:00:00.000000Z'
                links:
                  self: /contractors/<id>
components:
  schemas:
    Contractor:
      type: object
      title: Contractor
      properties:
        business_name:
          type: string
          description: >-
            The contractor's business or corporation name. `null` for individual
            contractors.
          nullable: true
          maxLength: 255
        first_name:
          type: string
          description: The contractor's first name. `null` for corporation contractors.
          nullable: true
          maxLength: 50
        last_name:
          type: string
          description: The contractor's last name. `null` for corporation contractors.
          nullable: true
          maxLength: 50
        middle_initial:
          type: string
          description: The contractor's middle initial. `null` for corporation contractors.
          nullable: true
          maxLength: 1
        email:
          type: string
          description: The contractor's email address, used for payroll communications.
          nullable: true
          maxLength: 255
        business_number:
          type: string
          description: >-
            The contractor's 15-character (BN15) Canada Revenue Agency (CRA)
            program account number, consisting of a 9-digit Business Number
            (BN), a 2-letter program identifier, and a 4-digit reference number.
            `null` for individual contractors.
          nullable: true
          maxLength: 15
        sin_last_3:
          description: >-
            The last 3 digits of the contractor's Social Insurance Number (SIN).
            `null` if no SIN has been provided.
        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 contractor,
            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 contractor was archived. Archiving a contractor also
            archives all Work Assignments that are not already archived.
            Archived contractors 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

````