---
title: "Imports one JobDiva placement as a Bilflo contract job. DRY RUN BY DEFAULT. Pass dryRun=false to write. That direction is deliberate: this is the first write path into a live customer account, there is no staging environment, Bilflo has no duplicate guard on jobs, and a contract job cannot be deleted - only deactivated. So a caller has to ask for the write rather than remember to ask for safety. A dry run reports exactly what the job would be built from and every reason it cannot be created yet. It refuses rather than filling a gap with a default: a guessed pay rate bills wrongly and a guessed W2-versus-1099 is a tax problem, so \"no job\" is the better failure."
method: POST
path: "/jobdiva/v1/placements/import"
tags: ["Placements"]
---

# Imports one JobDiva placement as a Bilflo contract job. DRY RUN BY DEFAULT. Pass dryRun=false to write. That direction is deliberate: this is the first write path into a live customer account, there is no staging environment, Bilflo has no duplicate guard on jobs, and a contract job cannot be deleted - only deactivated. So a caller has to ask for the write rather than remember to ask for safety. A dry run reports exactly what the job would be built from and every reason it cannot be created yet. It refuses rather than filling a gap with a default: a guessed pay rate bills wrongly and a guessed W2-versus-1099 is a tax problem, so "no job" is the better failure.

`POST /jobdiva/v1/placements/import`

## Request

- Base URL: `https://api.bilflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.bilflo.com/jobdiva/v1/placements/import`
- Auth: API key in header `Authorization`

## Query parameters

- `companyIntegrationId` string, uuid
- `placementId` string
- `dryRun` boolean

## Headers

- `company-id` string, required

## Response `200`

Success

## Changes

- **2026-10-29** `3d9e45cc0b79`: 3 info
  - added the new optional `query` request parameter `companyIntegrationId`
  - added the new optional `query` request parameter `dryRun`
  - added the new optional `query` request parameter `placementId`
- **2026-10-20** `26ce38e6c2ff`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bilflo/apis/bilflo-api/changes/jobdiva/v1/placements/import/post.md)

---

[API](https://skmtc.dev/bilflo/apis/bilflo-api.md) - [All operations](https://skmtc.dev/bilflo/apis/bilflo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bilflo/apis/bilflo-api/revisions/408a84d01c3f?raw)
