---
title: "Create a VMS Job"
method: POST
path: "/v1/job/vms-job"
tags: ["Jobs"]
---

# Create a VMS Job

`POST /v1/job/vms-job`

Adds a new VMS job record to the system.

## Headers

- `RequestId` string, uuid — The unique request identifier used to correlate request data with log entries and events, formatted as a UUID.
- `FrontOfficeTenantId` integer
- `Tenant` string

## Request body

- VMSJobDTO
  - `vmsReqId` integer — The identifier for the VMS job.
  - `jobId` integer — The identifier for the job.
  - `companyId` integer, required — The identifier for the company.
  - `branchId` integer, required — The identifier for the company branch or department.
  - `frontOfficeId` integer — The identifier for the job's home office/branch. It occupies the following position in the Front Office hierarchy: Division → Region → Office/Branch. Refer to the <a href="https://developer.avionte.com/reference/getbranches">Get Branches</a> endpoint to retrieve the ID.
  - `contactId` integer, required — The identifier for the company contact.
  - `worksiteAddressId` integer, required — The identifier for the worksite address.
  - `positions` integer, required — The number of positions.
  - `startDate` string, date-time, required — The estimated start date. The field follows the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss formats, for example, 2024-12-01 or 2024-12-01T00:00:00.
  - `endDate` string, date-time — The estimated end date. The field follows the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss formats, for example, 2024-12-01 or 2024-12-01T00:00:00.
  - `estimatedHours` integer — The estimated amount of time the job requires.
  - `targetBillRate` number — The target bill rate for the job.
  - `targetPayRate` number — The target pay rate for the job.
  - `overtimeType` 'StraightTime' | 'PaidAndBilledOT' | 'PaidNotBilledOT' — The overtime types available for selection for a job.
  - `expenseType` 'None' | 'PaidAndBilled' | 'PaidNotBilled' — The expense types available for selection for a job.
  - `overtimeRuleId` integer — The identifier for the overtime rule.
  - `useCustomOTRates` boolean — A flag indicating custom overtime rates can be used.
  - `overtimeBillRate` number — The overtime bill rate value.
  - `overtimePayRate` number — The overtime pay rate value.
  - `doubletimeBillRate` number — The double time bill rate value.
  - `doubletimePayRate` number — The double time pay rate value.
  - `maxBillRate` number — The maximum bill rate value.
  - `minBillRate` number — The minimum bill rate value.
  - `maxPayRate` number — The maximum pay rate value.
  - `minPayRate` number — The minimum pay rate value.
  - `rateType` 'HourlyRate' | 'DailyRate' — The rate types available for selection for a job.
  - `weekDuration` 'MondayToSunday' | 'SundayToSaturday' | 'SaturdayToFriday' — The week duration options available for a job.
  - `markupPercentage` number — The mark-up percentage value.
  - `billingManagerId` integer — The identifier for the billing manager for the job.
  - `billingName` string — The name of the billing contact.
  - `billingAddress1` string — Billing address, line 1.
  - `billingAddress2` string — Billing address, line 2.
  - `billingCity` string — Billing city.
  - `billingState` string — Billing state.
  - `billingZip` string — Billing ZIP/postal code.
  - `billingPhone` string — Billing phone.
  - `billingEmail` string — Billing email.
  - `billingTerm` 'DueUponReceipt' | 'Net7' | 'Net10' | 'Net15' | 'Net20' | 'Net30' | 'Net35' | 'Net45' | 'Net60' | 'Net65' | 'Net90' | 'Net120' | 'Net135' — The billing term options available for a job used for invoicing a customer. Options include "DueUponReceipt" and NetN terms, where N is the number of days in which the payment is due. For example, Net7 creates an invoice due 7 days after the date of the invoice.
  - `placementFee` number — The placement fee for the job.
  - `placementPercentage` number, float — The placement percentage for the job.
  - `title` string, required — The title for the job.
  - `positionCategoryId` integer — The identifier for the position category.
  - `costCenter` string — The company's cost center.
  - `division` string — The company's division.
  - `department` string — The company's department.
  - `workerCompCodeId` integer — The identifier for the worker's comp code.
  - `statusId` integer — The identifier for the job order status.
  - `orderTypeId` integer — The identifier for the job type.
  - `salesRepUserId` integer — The identifier for the sales representative user for the job.
  - `ownerUserId` integer — The identifier for the user who created a job.
  - `description` string — The job description.
  - `descriptionHTML` string — The HTML for job description.
  - `notes` string — The job notes.
  - `customJobDetails` CustomJobDetail[] — A list of custom job details.
    - `id` integer — The identifier for the custom job details.
    - `jobId` integer — The identifier for the job.
    - `name` string — The name of the detail.
    - `value` string — The value of the detail. The format of the value depends on the type of detail. If the type is 'checkbox', the value can be 'Yes' or 'No'. If the type is 'minmax', the value can be a string representing the minimum value, like '10'. If the type is 'numeric', the value can be a number like '15'. If the type is 'time', the value can be a time string like '08:00'. If the type is 'text', the value can be a string like 'Business Casual'.
    - `additionalValue` string — An additional value needed for the detail. If the type is 'minmax', the value can be a string representing the maximum value, like '100'.
    - `type` string — The type of detail. The possible values are 'checkbox', 'minmax', 'numeric', 'text', 'time'.
    - `isActive` boolean — An indication of whether the detail is active or not.
    - `customJobDetailId` integer — An identifier for the custom job detail definition.
  - `origin` string, required — The partner or vendor that originated the request.
  - `isArchived` boolean — An indication of whether the job record is archived or not.
  - `startTimeLocal` string — The start time for the job in 24-hour local time. This property is specific to Avionté 24/7.
  - `endTimeLocal` string — The end time for the job in 24-hour local time. This property is specific to Avionté 24/7.
  - `shiftScheduleDays` ShiftScheduleDays
    - `monday` boolean — An indication of whether Monday is part of a shift schedule or not.
    - `tuesday` boolean — An indication of whether Tuesday is part of a shift schedule or not.
    - `wednesday` boolean — An indication of whether Wednesday is part of a shift schedule or not.
    - `thursday` boolean — An indication of whether Thursday is part of a shift schedule or not.
    - `friday` boolean — An indication of whether Friday is part of a shift schedule or not.
    - `saturday` boolean — An indication of whether Saturday is part of a shift schedule or not.
    - `sunday` boolean — An indication of whether Sunday is part of a shift schedule or not.
  - `offer` boolean — An indication of whether a job offer has been made or not. This property is specific to Avionté 24/7.
  - `pickList` boolean — An indication of whether the job is of a Pick List type or not. This property is specific to Avionté 24/7.
  - `postJobToMobileApp` boolean — An indication of whether the job should be posted on the mobile application. This property is specific to Avionté 24/7.
  - `payPeriod` 'Unknown' | 'Weekly' | 'BiWeekly' | 'Monthly' | 'SemiMonthly' | 'Daily' | 'Yearly' | 'Hourly'
  - `vmsNotes` string — The notes related to the VMS job.
  - `maxSubmittal` integer — The maximum number of submittals.
  - `vendorJobReqID` string — The string identifier for the vendor job.
  - `vmsName` string — VMS provider name.
  - `vmsType` string — VMS type.
  - `statusName` string — The name for the job order status.
  - `jobRequirements` JobRequirement[] — The requirements of the job.
    - `requirementName` string — The name for the job requirement.
    - `fieldType` string — The field type for the job requirement, it should be Checkbox, Freetext or Dropdown.
    - `isRequired` boolean — An indication of whether the job requirement is required (true) or optional (false). Defaults to true for backward compatibility.
  - `orderTypeName` string — The job type.
  - `jobSkills` JobSkill[] — The job skills of the job.
    - `jobSkillId` integer — The identifier for the job skill.
    - `jobId` integer, required — The identifier for the job.
    - `descriptionId` integer — The identifier for the skill description option.
    - `positionId` integer — The identifier for the skill position option.
    - `skillDescription` string — The skill description option.
    - `skillPosition` string — The skill position option.
    - `skillTalentFacing` boolean — An indication of whether a skill is visible and applicable to talent users.
  - `jobSkillResponse` JobSkillResponse
    - `jobSkills` JobSkill[] — A list of job skills and their details.
      - `jobSkillId` integer — The identifier for the job skill.
      - `jobId` integer, required — The identifier for the job.
      - `descriptionId` integer — The identifier for the skill description option.
      - `positionId` integer — The identifier for the skill position option.
      - `skillDescription` string — The skill description option.
      - `skillPosition` string — The skill position option.
      - `skillTalentFacing` boolean — An indication of whether a skill is visible and applicable to talent users.
    - `errors` string[] — A list of validation errors generated while attempting to modify the skills associated with a job.
  - `jobOwners` integer[] — The user IDs of the job owners.
  - `bundled` boolean — An indication of whether workers can pick up one job. This property is specific to Avionté 24/7.

## Response `201`

The created VMS job record.

- VMSJobDTO
  - `vmsReqId` integer — The identifier for the VMS job.
  - `jobId` integer — The identifier for the job.
  - `companyId` integer, required — The identifier for the company.
  - `branchId` integer, required — The identifier for the company branch or department.
  - `frontOfficeId` integer — The identifier for the job's home office/branch. It occupies the following position in the Front Office hierarchy: Division → Region → Office/Branch. Refer to the <a href="https://developer.avionte.com/reference/getbranches">Get Branches</a> endpoint to retrieve the ID.
  - `contactId` integer, required — The identifier for the company contact.
  - `worksiteAddressId` integer, required — The identifier for the worksite address.
  - `positions` integer, required — The number of positions.
  - `startDate` string, date-time, required — The estimated start date. The field follows the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss formats, for example, 2024-12-01 or 2024-12-01T00:00:00.
  - `endDate` string, date-time — The estimated end date. The field follows the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss formats, for example, 2024-12-01 or 2024-12-01T00:00:00.
  - `estimatedHours` integer — The estimated amount of time the job requires.
  - `targetBillRate` number — The target bill rate for the job.
  - `targetPayRate` number — The target pay rate for the job.
  - `overtimeType` 'StraightTime' | 'PaidAndBilledOT' | 'PaidNotBilledOT' — The overtime types available for selection for a job.
  - `expenseType` 'None' | 'PaidAndBilled' | 'PaidNotBilled' — The expense types available for selection for a job.
  - `overtimeRuleId` integer — The identifier for the overtime rule.
  - `useCustomOTRates` boolean — A flag indicating custom overtime rates can be used.
  - `overtimeBillRate` number — The overtime bill rate value.
  - `overtimePayRate` number — The overtime pay rate value.
  - `doubletimeBillRate` number — The double time bill rate value.
  - `doubletimePayRate` number — The double time pay rate value.
  - `maxBillRate` number — The maximum bill rate value.
  - `minBillRate` number — The minimum bill rate value.
  - `maxPayRate` number — The maximum pay rate value.
  - `minPayRate` number — The minimum pay rate value.
  - `rateType` 'HourlyRate' | 'DailyRate' — The rate types available for selection for a job.
  - `weekDuration` 'MondayToSunday' | 'SundayToSaturday' | 'SaturdayToFriday' — The week duration options available for a job.
  - `markupPercentage` number — The mark-up percentage value.
  - `billingManagerId` integer — The identifier for the billing manager for the job.
  - `billingName` string — The name of the billing contact.
  - `billingAddress1` string — Billing address, line 1.
  - `billingAddress2` string — Billing address, line 2.
  - `billingCity` string — Billing city.
  - `billingState` string — Billing state.
  - `billingZip` string — Billing ZIP/postal code.
  - `billingPhone` string — Billing phone.
  - `billingEmail` string — Billing email.
  - `billingTerm` 'DueUponReceipt' | 'Net7' | 'Net10' | 'Net15' | 'Net20' | 'Net30' | 'Net35' | 'Net45' | 'Net60' | 'Net65' | 'Net90' | 'Net120' | 'Net135' — The billing term options available for a job used for invoicing a customer. Options include "DueUponReceipt" and NetN terms, where N is the number of days in which the payment is due. For example, Net7 creates an invoice due 7 days after the date of the invoice.
  - `placementFee` number — The placement fee for the job.
  - `placementPercentage` number, float — The placement percentage for the job.
  - `title` string, required — The title for the job.
  - `positionCategoryId` integer — The identifier for the position category.
  - `costCenter` string — The company's cost center.
  - `division` string — The company's division.
  - `department` string — The company's department.
  - `workerCompCodeId` integer — The identifier for the worker's comp code.
  - `statusId` integer — The identifier for the job order status.
  - `orderTypeId` integer — The identifier for the job type.
  - `salesRepUserId` integer — The identifier for the sales representative user for the job.
  - `ownerUserId` integer — The identifier for the user who created a job.
  - `description` string — The job description.
  - `descriptionHTML` string — The HTML for job description.
  - `notes` string — The job notes.
  - `customJobDetails` CustomJobDetail[] — A list of custom job details.
    - `id` integer — The identifier for the custom job details.
    - `jobId` integer — The identifier for the job.
    - `name` string — The name of the detail.
    - `value` string — The value of the detail. The format of the value depends on the type of detail. If the type is 'checkbox', the value can be 'Yes' or 'No'. If the type is 'minmax', the value can be a string representing the minimum value, like '10'. If the type is 'numeric', the value can be a number like '15'. If the type is 'time', the value can be a time string like '08:00'. If the type is 'text', the value can be a string like 'Business Casual'.
    - `additionalValue` string — An additional value needed for the detail. If the type is 'minmax', the value can be a string representing the maximum value, like '100'.
    - `type` string — The type of detail. The possible values are 'checkbox', 'minmax', 'numeric', 'text', 'time'.
    - `isActive` boolean — An indication of whether the detail is active or not.
    - `customJobDetailId` integer — An identifier for the custom job detail definition.
  - `origin` string, required — The partner or vendor that originated the request.
  - `isArchived` boolean — An indication of whether the job record is archived or not.
  - `startTimeLocal` string — The start time for the job in 24-hour local time. This property is specific to Avionté 24/7.
  - `endTimeLocal` string — The end time for the job in 24-hour local time. This property is specific to Avionté 24/7.
  - `shiftScheduleDays` ShiftScheduleDays
    - `monday` boolean — An indication of whether Monday is part of a shift schedule or not.
    - `tuesday` boolean — An indication of whether Tuesday is part of a shift schedule or not.
    - `wednesday` boolean — An indication of whether Wednesday is part of a shift schedule or not.
    - `thursday` boolean — An indication of whether Thursday is part of a shift schedule or not.
    - `friday` boolean — An indication of whether Friday is part of a shift schedule or not.
    - `saturday` boolean — An indication of whether Saturday is part of a shift schedule or not.
    - `sunday` boolean — An indication of whether Sunday is part of a shift schedule or not.
  - `offer` boolean — An indication of whether a job offer has been made or not. This property is specific to Avionté 24/7.
  - `pickList` boolean — An indication of whether the job is of a Pick List type or not. This property is specific to Avionté 24/7.
  - `postJobToMobileApp` boolean — An indication of whether the job should be posted on the mobile application. This property is specific to Avionté 24/7.
  - `payPeriod` 'Unknown' | 'Weekly' | 'BiWeekly' | 'Monthly' | 'SemiMonthly' | 'Daily' | 'Yearly' | 'Hourly'
  - `vmsNotes` string — The notes related to the VMS job.
  - `maxSubmittal` integer — The maximum number of submittals.
  - `vendorJobReqID` string — The string identifier for the vendor job.
  - `vmsName` string — VMS provider name.
  - `vmsType` string — VMS type.
  - `statusName` string — The name for the job order status.
  - `jobRequirements` JobRequirement[] — The requirements of the job.
    - `requirementName` string — The name for the job requirement.
    - `fieldType` string — The field type for the job requirement, it should be Checkbox, Freetext or Dropdown.
    - `isRequired` boolean — An indication of whether the job requirement is required (true) or optional (false). Defaults to true for backward compatibility.
  - `orderTypeName` string — The job type.
  - `jobSkills` JobSkill[] — The job skills of the job.
    - `jobSkillId` integer — The identifier for the job skill.
    - `jobId` integer, required — The identifier for the job.
    - `descriptionId` integer — The identifier for the skill description option.
    - `positionId` integer — The identifier for the skill position option.
    - `skillDescription` string — The skill description option.
    - `skillPosition` string — The skill position option.
    - `skillTalentFacing` boolean — An indication of whether a skill is visible and applicable to talent users.
  - `jobSkillResponse` JobSkillResponse
    - `jobSkills` JobSkill[] — A list of job skills and their details.
      - `jobSkillId` integer — The identifier for the job skill.
      - `jobId` integer, required — The identifier for the job.
      - `descriptionId` integer — The identifier for the skill description option.
      - `positionId` integer — The identifier for the skill position option.
      - `skillDescription` string — The skill description option.
      - `skillPosition` string — The skill position option.
      - `skillTalentFacing` boolean — An indication of whether a skill is visible and applicable to talent users.
    - `errors` string[] — A list of validation errors generated while attempting to modify the skills associated with a job.
  - `jobOwners` integer[] — The user IDs of the job owners.
  - `bundled` boolean — An indication of whether workers can pick up one job. This property is specific to Avionté 24/7.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Access Denied
- `404` — Not found
- `405` — Unsupported method
- `406` — Unsupported format(s) indicated by Accept header
- `415` — Unsupported format(s) indicated by the Content-Type header
- `429` — Too many requests
- `500` — An unexpected error occurred
- `502` — Service Unavailable
- `504` — Gateway Timeout

---

[API](https://skmtc.net/avionte/apis/aviont-partner-authorization-api.md) · [All operations](https://skmtc.net/avionte/apis/aviont-partner-authorization-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/avionte/aviont-partner-authorization-api/versions/846b33e4e71b/schema)
