---
title: "Add a Placement"
method: POST
path: "/v1/placement"
tags: ["Placements"]
---

# Add a Placement

`POST /v1/placement`

Adds a new placement 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

- PlacementDto
  - `id` integer — The identifier for the placement.
  - `talentId` integer, required — The identifier for the talent.
  - `jobId` integer, required — The identifier for the job.
  - `extensionId` integer — The optional identifier for the placement extension.
  - `startDate` string, date-time, required — The placement 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 placement 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.
  - `payRates` Rate, required
    - `regular` number — The regular rate value.
    - `overtime` number — The overtime rate value.
    - `doubletime` number — The double time rate value.
  - `billRates` Rate, required
    - `regular` number — The regular rate value.
    - `overtime` number — The overtime rate value.
    - `doubletime` number — The double time rate value.
  - `commissionUsers` CommissionUserDto[] — A list of commission recipients and their details.
    - `commissionUserType` string, required — The commission user type.
    - `userId` integer, required — User ID of the commission recipient.
    - `commissionPercent` number, required — The commission percentage allocated to the recipient.
  - `frontOfficeId` integer — The identifier for the placement'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.
  - `payBasis` string — The pay basis for the placement. Valid values are Commission, Day, Hourly, Hybrid/Other, Piece Pay, Salary, Shift, and Weekly.
  - `hiredDate` string, date-time — The date the talent was hired. 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.
  - `placementAdditionalRates` PlacementAdditionalRatesDto[] — A list of additional rates and their details.
    - `leaveTypeID` integer, required — The identifier for the leave type or additional transaction type.
    - `payRate` number — The additional transaction pay rate value.
    - `billRate` number — The additional transaction bill rate value.
    - `inputType` string — The input type of the additional rate. Valid values are Hours, Punches and Units.
    - `payBillTerm` integer — The identifier for the pay and bill term for the additional rate. Valid values are 1 for Paid & Billed and 2 for Paid NOT Billed.
  - `endReasonId` integer — The identifier for the end reason.
  - `endReason` string — The reason for ending the placement.
  - `recruiterUserId` integer — The identifier for the recruiter user.
  - `recruiterUser` string — The email of the recruiter user.
  - `enteredByUserId` integer, required — The identifier for the user who created the placement.
  - `createdDate` string, date-time, required — The date when the placement was created. The field follows the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss formats and also supports fractional seconds, such as YYYY-MM-DDTHH:mm:ss.sss. For example, 2024-12-01, 2024-12-01T14:30:00, and 2024-12-01T14:30:00.546.
  - `hasNoEndDate` boolean — An indication of whether the placement has an end date or not.
  - `originalStartDate` string, date-time — The optional original start date of the placement. 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.
  - `finalEndDate` string, date-time — The optional final end date of the placement. 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.
  - `origin` string, required — The origin of the placement.
  - `timeApproverIds` integer[] — List of identifiers for Time Approver users.
  - `placementScheduleShiftDtos` PlacementScheduleShiftDto[] — The list of placement schedules shifts.
    - `id` integer — The identifier for the Job Hired Schedule Shift.
    - `jobScheduleShiftId` integer — The identifier for the Job Schedule Shift.
    - `weekDay` integer — The identifier for the shift weekday, starting with 0 for Sunday.
    - `duration` integer — The duration of the shift, in minutes.
    - `startTime` string, duration — The start time of the shift, expressed in hours and minutes using 24-hour local time.
    - `date` string, date-time — The date for the shift. 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.
    - `status` 'COMMITTED' | 'CANCELED' — The status of the placement schedule shift.

## Response `201`

The placement record that was successfully created.

- Placement
  - `placementGuid` string, uuid — The unique identifier for the placement, formatted as a GUID.
  - `branchGuid` string, uuid — The unique identifier for the branch associated with the talent, formatted as a GUID.
  - `backOfficeAssignmentId` integer — The ID of the Assignment in the Back Office.
  - `WorkSiteAddress` Address
    - `addressGuid` string, uuid — Unique identifier for the address, formatted as a UUID.
    - `street1` string, required — Street address, line 1.
    - `street2` string — Street address, line 2.
    - `city` string, required — City.
    - `state` string, required — Province, state, or region.
    - `postalCode` string, required — ZIP/postal code.
    - `country` string, required — A 2-letter ISO 3166-1 alpha-2 code representing the country (e.g., "US", not "USA"). For details, see the <a href="https://developer.avionte.com/docs/general-guidelines#/data-formatting">General Guidelines</a>.
  - `isW2` boolean — An indication of whether the placement is a W2 placement (true) or a contract placement (false).
  - `agencyGuid` string, uuid — The vendor agency GUID, used when the placement is a contract placement (IsW2 = false) and payment should be directed to the vendor instead of the talent.
  - `jobTitle` string — Job title for the placement, as defined on the Job.
  - `payPeriod` 'Unknown' | 'Weekly' | 'BiWeekly' | 'Monthly' | 'SemiMonthly' | 'Daily' | 'Yearly' | 'Hourly'
  - `placementSchedules` PlacementSchedule[] — A list of all schedules associated with the placement.
    - `placementScheduleGuid` string, uuid — The unique identifier for the placement schedule, formatted as a GUID.
    - `startDate` string, date — Start date of the placement schedule in YYYY-MM-DD format, without a timestamp.
    - `endDate` string, date — End date of the placement schedule in YYYY-MM-DD format, without a timestamp.
    - `isActive` boolean — An indication of whether the schedule is active. Only one schedule can be active for a placement.
    - `placementRates` PlacementRate[] — A list of all rates for the particular placement schedule.
      - `placementRateGuid` string, uuid — The unique identifier for the placement rate, formatted as a GUID.
      - `transactionTypeId` integer — The unique identifier for the pay/bill code.
      - `transactionType` string — The pay or bill code associated with the transaction.
      - `payRate` number — Pay rate for the particular pay/bill code.
      - `billRate` number — Bill rate for the particular pay/bill code.

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