Create a Job

Creates a new Job linked to an existing client, client office, and client contact. Required fields: `jobTitle`, `clientGuid`, `clientOfficeGuid`, `clientContactGuid`. Recruiters, sourcers, vendors, categories, industries, functions, and workgroups are not set here — assign them afterward via their dedicated sub-resource endpoints (e.g. `POST /api/v1/requirements/{guid}/recruiters/{userGuid}`).

Authentication

X-Brightmove-Company-ApiKeystring
BrightMove Company Api Key
X-Brightmove-User-ApiKeystring
BrightMove User Api Key

Request

This endpoint expects an object.
jobTitlestringRequired
Job title for the open position.
clientGuidstringRequired

GUID of the client (company) this job opening is for.

clientOfficeGuidstringRequired
GUID of the client office location where this position is based.
clientContactGuidstringRequired

GUID of the client contact (hiring manager) for this position.

publicDescriptionstringOptional
Job description visible to candidates on public job boards.
privateDescriptionstringOptional
Internal notes about the position, visible only to recruiters.
requiredSkillsstringOptional
Skills that candidates must have to be considered for this position.
optionalSkillsstringOptional

Skills that are nice-to-have but not mandatory.

locationstringOptional

Free-text location description shown on job postings.

locationAddressstringOptional
Street address of the work location.
locationCitystringOptional
City of the work location.
locationStateIdlongOptional

State ID of the work location from the BrightMove state lookup. Use GET /api/v1/lookup/states to retrieve valid IDs.

locationPostalCodestringOptional

Postal (ZIP) code of the work location.

minBillRatedoubleOptional

Minimum bill rate charged to the client (per hour).

maxBillRatedoubleOptional

Maximum bill rate charged to the client (per hour).

minPayRatedoubleOptional

Minimum pay rate offered to the candidate (per hour).

maxPayRatedoubleOptional

Maximum pay rate offered to the candidate (per hour).

openingsintegerOptional
Number of open positions to fill. Defaults to 1 if not provided.
postToInternalbooleanOptional
When true, posts this job to your company's internal job board.
postToWebbooleanOptional

When true, posts this job to external/public job boards.

durationstringOptional

Free-text duration of the assignment (e.g., for contract roles).

endDatestringOptional

Expected or actual end date of the assignment, in ISO-8601 format.

statusCommentstringOptional
Internal comment about the current status.
minBillTypeIdlongOptional

Rate type for minBillRate. 1=Hourly, 2=Daily, 3=Monthly, 4=Annually, 5=Weekly, 6=Biweekly. Use GET /api/v1/lookup/pay-types to retrieve valid IDs.

maxBillTypeIdlongOptional

Rate type for maxBillRate. Same enumeration as minBillTypeId; use GET /api/v1/lookup/pay-types to retrieve valid IDs.

minPayTypeIdlongOptional

Rate type for minPayRate. Same enumeration as minBillTypeId; use GET /api/v1/lookup/pay-types to retrieve valid IDs.

maxPayTypeIdlongOptional

Rate type for maxPayRate. Same enumeration as minBillTypeId; use GET /api/v1/lookup/pay-types to retrieve valid IDs.

placementTypeIdlongOptional

Placement type expected if this requirement is filled. 1=Contract, 2=Permanent, 3=Internal. Use GET /api/v1/lookup/placement-types to retrieve valid IDs.

bonusPctdoubleOptional
Bonus percentage payable on placement, if any.
bonusFlatdoubleOptional
Flat bonus amount payable on placement, if any.
bonusNotesstringOptional
Notes about the bonus structure.
feePctdoubleOptional
Placement fee percentage charged to the client, if any.
feeAmtdoubleOptional
Flat placement fee amount charged to the client, if any.
percentChanceClosedoubleOptional

Estimated percentage chance this requirement will be filled (0-100).

jobGroupNamestringOptional
Name of the job group this requirement belongs to, exactly as returned by the GET endpoint. Must match an existing job group configured for your company.
workFromHomebooleanOptional
When true, this position may be performed from the candidate's home.
workRemotebooleanOptional
When true, this position is fully remote.
workHybridbooleanOptional

When true, this position is a hybrid of remote and in-office work.

workStateWidebooleanOptional
When true, this position may be performed from anywhere in the work location's state.
partTimebooleanOptional

When true, this is a part-time position.

Response

Requirement created successfully