> ## 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.

# List contractors



## OpenAPI

````yaml /spec/openapi.json get /contractors
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:
    get:
      tags:
        - Contractors
      summary: List contractors
      operationId: contractors-index
      parameters:
        - name: include_archived
          in: query
          schema:
            type: boolean
          required: false
        - name: archived_at
          in: query
          schema:
            type: object
          required: false
          description: >-
            Date filters support two formats:

            Exact Date Match: Provide a well-formatted date in `YYYY-MM-DD`
            format for an exact match. Example: `archived_at=2024-01-01`

            Use an array-like syntax to specify a range with one or more
            comparison operators:

            - `gt` (greater than)

            - `gte` (greater than or equal to)

            - `lte` (less than or equal to)

            - `lt` (less than)

            Example: `archived_at[gte]=2024-01-01&archived_at[lt]=2024-12-31`
        - name: external_ref
          in: query
          schema:
            type: string
          required: false
        - name: search_names
          in: query
          schema:
            type: string
          required: false
        - name: sort
          in: query
          schema:
            type: string
            enum:
              - business_name
              - first_name
              - last_name
          required: false
          description: >-
            Sort order is specified using the format 

            `sort=field[:direction][,field[:direction],...]` where `field` is
            the name of the field to sort by

            and `direction` is the optional sort direction (`asc` or `desc`).
        - name: has_work_assignment_business_entity_id
          in: query
          schema:
            type: string
          required: false
        - name: has_work_assignment_pay_schedule_id
          in: query
          schema:
            type: string
          required: false
        - name: include_archived_work_assignments
          in: query
          schema:
            type: boolean
          required: false
        - name: tag_id
          in: query
          schema:
            type: string
          required: false
        - name: tag_group_id
          in: query
          schema:
            type: string
          required: false
        - name: expand
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - company
                - work_assignments
          required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    description: The type of the object in Nmbr (`"list"`).
                    readOnly: true
                  data:
                    type: array
                    items:
                      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:
                          type: object
                          allOf:
                            - $ref: '#/components/schemas/Contractor'
                          anyOf:
                            - type: object
                              title: Default
                            - type: object
                              title: With company expanded
                              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.
                                      readOnly: true
                                    data:
                                      $ref: '#/components/schemas/Company'
                            - type: object
                              title: With work_assignments expanded
                              properties:
                                work_assignments:
                                  type: object
                                  nullable: true
                                  properties:
                                    object:
                                      type: string
                                      description: >-
                                        The type of the object in Nmbr
                                        (`"list"`).
                                      readOnly: true
                                    data:
                                      type: array
                                      items:
                                        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.
                                            readOnly: true
                                          data:
                                            $ref: '#/components/schemas/WorkAssignment'
              example:
                object: list
                data:
                  - 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: 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: /contractors/<id>
                links:
                  first: /contractors?page=1
                  last: /contractors?page=1
                  prev: null
                  next: null
                meta:
                  current_page: 1
                  last_page: 1
                  per_page: 15
                  total: 1
                  has_more: false
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
    Company:
      type: object
      title: Company
      properties:
        name:
          type: string
          description: The company's name.
        pay_day_movement_setting:
          type: string
          description: >-
            The company-level setting for how pay dates are adjusted when they
            fall on a weekend or bank holiday. Inherited by Business Entities
            and Pay Schedules whose own setting is `inherit`.
          enum:
            - inherit
            - next_business_day
            - previous_business_day
        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 Employees and
            Contractors within this company. If not set, the Partner's locale is
            used.
          nullable: true
          enum:
            - en
            - fr
        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
    WorkAssignment:
      type: object
      title: Work Assignment
      properties:
        title:
          type: string
          description: >-
            An optional label for this work assignment, used to distinguish
            between multiple work assignments for the same Employee or
            Contractor.
          nullable: true
          maxLength: 255
        title_translations:
          type: object
          description: Optional translations for the `title` property.
          allOf:
            - $ref: '#/components/schemas/Translations'
          nullable: true
        title_translated:
          type: string
          description: >-
            The translation of the `title` property for the request locale.
            Computed using the values in `title` and `title_translations` and
            the value of the request's `Accept-Language` header.
          readOnly: true
        employee:
          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
        pay_schedule:
          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 (`"pay_schedule"`).
              readOnly: true
        business_entity:
          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 (`"business_entity"`).
              readOnly: true
        current_tax_jurisdiction:
          type: string
          description: >-
            The current Province of Employment (POE) for the work assignment,
            derived from the `ca::province_of_employment` Tax Property on the
            work assignment or, if none is set, from the Business Entity.
          nullable: true
        is_primary:
          type: boolean
          description: >-
            When `true`, the standard tax reductions are applied to this work
            assignment's Pay Stubs. Only one work assignment per Employee per
            Business Entity may be primary. If none is explicitly set to
            primary, the earliest work assignment is treated as primary.
        accrued_vacation_pay:
          type: number
          description: This attribute is deprecated and will be removed.
          deprecated: true
          format: decimal
        paid_vacation_pay:
          type: number
          description: This attribute is deprecated and will be removed.
          deprecated: true
          format: decimal
        first_non_draft_period_start:
          type: string
          description: >-
            The start of the first pay period for which this work assignment has
            a non-draft Payroll. `null` if the work assignment has never
            appeared on an approved or paid Payroll.
          nullable: true
          format: date
        last_non_draft_period_end:
          type: string
          description: >-
            The end of the most recent pay period for which this work assignment
            has a non-draft Payroll. `null` if the work assignment has never
            appeared on an approved or paid Payroll.
          nullable: true
          format: date
        available_tax_properties:
          type: array
          description: >-
            A list of Tax Property template identifiers supported for this work
            assignment, based on its jurisdiction.
          nullable: true
          items:
            type: string
        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
        archived_at:
          type: string
          description: >-
            The date the work assignment was archived. Archiving ends the work
            assignment's participation in future Payrolls. The archive date must
            not fall before any active Pay Rate's effective period.
          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
    Translations:
      type: object
      nullable: true
      properties:
        en:
          type: string
          maxLength: 255
        fr:
          type: string
          maxLength: 255
  securitySchemes:
    CompanyToken:
      type: http
      scheme: bearer

````