---
title: "Creates a new job from a job definition and audience."
method: POST
path: "/job"
tags: ["Job"]
---

# Creates a new job from a job definition and audience.

`POST /job`

If the audience is not already recruiting, recruiting is started automatically.
 The RecruitingStarted field indicates whether this happened.

## Request body

- CreateJobEndpointInput — The input for the create job endpoint.
  - `jobDefinitionId` string, required — The id of the job definition to use.
  - `audienceId` string, required — The id of the audience to target.
  - `revisionNumber` integer, nullable — The revision number to use. If not specified, the latest revision will be used.
  - `name` string, nullable — The name of the job. If not specified, defaults to "{definition name}:{revision number}".
  - `priority` integer, nullable — The priority of the job. Higher values mean higher priority. When omitted, a per-owner default is applied server-side. A requested value is capped for non-admin customers.
  - `precedingJobId` string, nullable — Optional id of a job that must finish before this job starts. When set, this job is queued until the preceding job completes or fails.
  - `notifyOwnerOnCompletion` boolean — Whether the job's owner should be emailed when the job completes. Defaults to false.
  - `checkForExplicitContent` boolean, nullable — Whether Rapidata's explicit-content check should run for this job. Leave null to use the default for the caller's account. Set true to force the check on. Set false to skip it — honored only when the account is permitted to skip; otherwise the check still runs and ContentCheckSkipDenied is set on the response.

## Response `200`

OK

- CreateJobEndpointOutput — The result when a job has been created.
  - `jobId` string, required — The id of the created job.
  - `recruitingStarted` boolean, required — Whether recruiting was automatically started for the audience.
  - `contentCheckSkipDenied` boolean — True when the caller asked to skip the explicit-content check but is not permitted to; the check runs regardless. Advisory — the job is created and runs either way.
  - `costWarning` CreateJobEndpointCostWarning
    - `estimatedCost` number, double, required
    - `availableBalance` number, double, required
    - `shortfall` number, double, required

## Other responses

- `400` — Bad Request
- `401` — Unauthenticated
- `403` — Forbidden

---

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