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

# addBusinessContractor

> 
The `addBusinessContractor` API creates a new business contractor who interacts with the company payroll.

### What it does:

- Creates a business contractor user with address, KYB (Know Your Business) data, wage and company location
- Records the ownership share of the business user in their respective company

### Notes:

- Different from regular contractors created with `addUser` - this is specifically for business contractors
- Business contractors are separate from business users who have administrative roles



## OpenAPI

````yaml post /adminPortal/addBusinessContractor
openapi: 3.0.1
info:
  title: Default module
  description: ''
  version: 1.0.0
servers: []
security:
  - basic: []
tags: []
paths:
  /adminPortal/addBusinessContractor:
    post:
      tags: []
      summary: addBusinessContractor
      description: >-

        The `addBusinessContractor` API creates a new business contractor who
        interacts with the company payroll.


        ### What it does:


        - Creates a business contractor user with address, KYB (Know Your
        Business) data, wage and company location

        - Records the ownership share of the business user in their respective
        company


        ### Notes:


        - Different from regular contractors created with `addUser` - this is
        specifically for business contractors

        - Business contractors are separate from business users who have
        administrative roles
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user:
                  type: object
                  properties:
                    companyId:
                      type: string
                      format: uuid
                    firstName:
                      type: string
                      maxLength: 40
                    middleName:
                      type: string
                      maxLength: 40
                    lastName:
                      type: string
                      maxLength: 40
                    email:
                      type: string
                      maxLength: 35
                    phoneNumber:
                      type: string
                      title: Must be 10 digits
                      example: '9874563210'
                    dateOfJoin:
                      type: string
                      maxLength: 10
                    workerType:
                      type: string
                      title: Enum
                      maxLength: 8
                      enum:
                        - W2
                        - 1099-NEC
                    jobTitle:
                      type: string
                      maxLength: 20
                    companyLocationCategory:
                      type: string
                      enum:
                        - Office
                        - Remote
                      example: When Remote is Selected State Code Should be mentioned
                    code:
                      type: string
                      title: Enum
                      maxLength: 2
                      enum:
                        - TX
                        - AK
                        - ND
                        - IL
                        - MA
                        - KS
                        - AS
                        - AL
                        - UT
                        - SD
                        - MI
                        - DC
                        - GA
                        - SC
                        - TN
                        - OK
                        - CO
                        - CA
                        - ME
                        - MO
                        - WY
                        - MD
                        - VT
                        - NM
                        - CT
                        - AZ
                        - WI
                        - VA
                        - WV
                        - NJ
                        - DE
                        - NC
                        - PR
                        - IN
                        - MT
                        - NH
                        - HI
                        - IA
                        - KY
                        - WA
                        - OH
                        - FL
                        - OR
                        - MP
                        - GU
                        - MN
                        - MS
                        - PA
                        - NE
                        - RI
                        - ID
                        - LA
                        - NY
                        - NV
                        - AR
                    companyLocationId:
                      type: string
                      title: Need to be added when CompanyLocationCategory is Office
                      format: uuid
                  required:
                    - companyId
                    - firstName
                    - lastName
                    - email
                    - phoneNumber
                    - dateOfJoin
                    - workerType
                    - jobTitle
                    - companyLocationCategory
                  x--orders:
                    - companyId
                    - firstName
                    - lastName
                    - email
                    - phoneNumber
                    - dateOfJoin
                    - workerType
                    - jobTitle
                    - employeeStatus
                    - companyLocationCategory
                    - state
                    - middleName
                kybInformation:
                  type: object
                  properties:
                    ein:
                      type: string
                    dateOfIncorporation:
                      type: string
                  required:
                    - ein
                    - dateOfIncorporation
                companyLocation:
                  type: object
                  properties:
                    address1:
                      type: string
                    address2:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    zipcode:
                      type: string
                    country:
                      type: string
                    phoneNumber:
                      type: string
                  required:
                    - address1
                    - city
                    - state
                    - zipcode
                    - country
                    - phoneNumber
                businessUser:
                  type: object
                  properties:
                    address1:
                      type: string
                    address2:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    zipcode:
                      type: string
                    country:
                      type: string
                    dateOfBirth:
                      type: string
                    ownershipPercentage:
                      type: number
                  required:
                    - address1
                    - city
                    - state
                    - zipcode
                    - country
                    - dateOfBirth
                    - ownershipPercentage
              required:
                - user
                - kybInformation
                - companyLocation
                - businessUser
              x--orders:
                - method
                - employee
            example:
              method: addBusinessContractor
              user:
                companyId: A141A4B1-C742-4C43-9A45-E8CCC2FD87F7
                legalName: Pear Inc
                firstName: Meery
                middleName: Austin
                lastName: Steve
                email: pear001@sto.com
                phoneNumber: '9889890989'
                dateOfJoin: '2000-01-01'
                jobTitle: Manager
                companyLocationCategory: Remote
                code: FL
              userWage:
                differentialPay: 'No'
                wageRate: 1110
                workerType: W2
                wageBasis: Per Week
                userType: Salary/Eligible for overtime
                employmentStatus: Full Time (30+ Hours per week)
                userRefTaxExempt: Yes, as an owner/corporate officer
                startDate: '2023-02-25'
                paymentMethod: Check
              kybInformation:
                ein: '785698565'
                dateOfIncorporation: '2023-02-25'
              companyLocation:
                address1: 8745 Colard Ln
                address2: ''
                city: Lyons
                state: CO
                zipcode: '80540'
                country: US
                phoneNumber: '9889890989'
              businessUser:
                address1: 8745 Colard Ln
                address2: ''
                city: Lyons
                state: CO
                zipcode: '80540'
                country: US
                dateOfBirth: '2000-09-09'
                ownershipPercentage: 28
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  businessContractor:
                    type: object
                    properties:
                      companyId:
                        type: string
                      kybInformationId:
                        type: string
                      userId:
                        type: string
                      userWageId:
                        type: string
                      businessUserId:
                        type: string
                      companyLocationId:
                        type: string
                      status:
                        type: string
                      message:
                        type: string
                    required:
                      - companyId
                      - kybInformationId
                      - userId
                      - userWageId
                      - businessUserId
                      - companyLocationId
                      - status
                      - message
                required:
                  - businessContractor
              example:
                businessContractor:
                  companyId: B06FF5C9-D654-4B6F-ABF0-072AF5A7D1CF
                  kybInformationId: 51A02CD2-745A-4C77-B7C6-6711ABBD9EEE
                  userId: 088B3C3C-F7C2-4F42-999A-CC1FA135CE82
                  userWageId: C62AD35C-5BDF-4B9F-9E0A-6C97A44730BF
                  businessUserId: 088B3C3C-F7C2-4F42-999A-CC1FA135CE82
                  companyLocationId: 401AB38E-5C90-48F1-BBEA-F7449B41DB80
                  status: Registered
                  message: >-
                    A business contractor has been registered successfully and
                    KYB verification is in progress.
          headers: {}
        '400':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: integer
                        message:
                          type: string
                      required:
                        - code
                required:
                  - error
              example:
                error:
                  code: 400
                  message: First Name is mandatory and cannot be empty.
          headers: {}
      deprecated: false
      security:
        - basic: []
components:
  securitySchemes:
    basic:
      type: http
      scheme: basic

````