---
title: "Creates a new contract job"
method: POST
path: "/v{version}/ContractJobs"
tags: ["ContractJobs"]
---

# Creates a new contract job

`POST /v{version}/ContractJobs`

<h3>
            If "Use Job Site Address" is true in the settings/burden page, it will use Address State for the contract job otherwise it will use stateId
            </h3>

## Path parameters

- `version` string, required

## Headers

- `company-id` string, required

## Request body

- ContractsContractsCommandsCreateContractJobCommand
  - `companyId` string, uuid
  - `addressId` integer, nullable
  - `burdenManual` number, double
  - `burdenTypeId` integer, required
  - `clientId` integer, required
  - `contractJobApprovers` BilfloModelsContractJobsDTOsContractJobApproverDTO[], nullable
    - `contactId` integer
    - `userId` integer
    - `canApproveExpenses` boolean
    - `canApprovePerDiem` boolean
    - `canApproveTime` boolean
    - `viewInvoices` boolean
  - `contractJobBurdenItems` BilfloModelsContractJobsDTOsContractJobBurdenItemDTO[], nullable
    - `burdenItemId` integer
    - `isWorkersCompCode` boolean
  - `contractJobPayBillItemDetails` BilfloModelsContractJobsDTOsContractJobPayBillItemDetailDTO[], nullable
    - `id` integer
    - `payBillItemId` integer, required
    - `costRate` number, double, required
    - `billRate` number, double, required
    - `includeInSales` boolean
    - `includeInCost` boolean
    - `burden` number, double, required
    - `isBurdened` boolean
    - `mapToPayroll` boolean
  - `contractorId` integer, required
  - `contractorTypeId` 1 | 2, required
  - `endDate` string, date-time, nullable
  - `expensesCollectionMethodId` integer, nullable
  - `firstWeekEndingDate` string, date-time, required
  - `isAllowSkipLunch` boolean
  - `isExpensesEnabled` boolean
  - `isPerDiemEnabled` boolean
  - `isSickTimeEnabled` boolean
  - `isTimecardDocMandatory` boolean
  - `isTimecardUploadDocEnabled` boolean
  - `isWaiveMealPeriod` boolean
  - `jobTitle` string, required
  - `logicFileId` string, uuid, nullable
  - `overtimeRuleId` integer, nullable
  - `perDiemCalculationId` integer, nullable
  - `perDiemCollectionMethodId` integer, nullable
  - `startDate` string, date-time, required
  - `stateId` integer, nullable
  - `statusId` 1 | 2 | 3 | 4 | 5
  - `timeCardDependencyId` 1 | 2 | 6 | 9
  - `timeCardMethodId` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11, required
  - `weekCount` integer
  - `weekEndDay` integer, nullable
  - `workersCompCodeId` integer
  - `contractJobCustomFields` BilfloModelsCustomFieldsContractJobCustomFieldDTO[], nullable
    - `customFieldId` integer
    - `customFieldValue` string, nullable

## Response `200`

Success

- ContractsContractsCommandsCreateContractJobResponse
  - `isValid` boolean
  - `errors` string[], nullable
  - `warnings` string[], nullable
  - `info` string[], nullable
  - `message` string, nullable
  - `data` ContractsContractsCommandsNewContractJobResponse
    - `jobId` integer

---

[API](https://skmtc.net/bilflo/apis/bilflo-api.md) · [All operations](https://skmtc.net/bilflo/apis/bilflo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bilflo/bilflo-api/revisions/bcdbca776df0/schema)
