Create a job
Create a job posting. Accepts an Idempotency-Key header to make retries safe.
Authorizations
API key authentication for the public API. Pass your API key as a Bearer token.
Headers
Unique key (e.g. a UUID v4) that makes this POST safe to retry: a repeated key replays the original response instead of creating a second resource.
Body
Request body for POST /jobs. salary_currency is an ISO 4217 code.
1 - 25511 - 255full_time- Full Timepart_time- Part Timecontract- Contractinternship- Internshipfreelance- Freelance
full_time, part_time, contract, internship, freelance The job's ID in the system that supplied it, in that system's own form. Unique per organization and source.
255Where external_id comes from. Defaults to api, for your own ids. Set it to an ATS (e.g. talent360) when mirroring that ATS's jobs, so its applications reach this job.
api- Public APIkombo- Kombotalent360- Talent360
api, kombo, talent360 Language for conducting interviews and generating CV evaluations
en-US- Englishde-DE- German
en-US, de-DE When enabled, the interview STARTS in language but the AI adapts to the candidate's spoken language. The call routes through a CallProfile flagged is_multilingual=True (must be configured at platform or org level). Analysis outputs (scoring, summary, insights) stay in language regardless of what the candidate spoke.
active- Activepaused- Pausedclosed- Closeddraft- Draft
active, paused, closed, draft Controls whether candidates must upload a CV when applying
required- Requiredoptional- Optionaldisabled- Disabled
required, optional, disabled ^-?\d{0,10}(?:\.\d{0,2})?$Must be greater than or equal to salary_min.
^-?\d{0,10}(?:\.\d{0,2})?$ISO 4217 currency code (e.g. USD, EUR).
1Frequency of the salary range. Required when salary_min is set.
per_hour- Per Hourper_day- Per Dayper_week- Per Weekper_month- Per Monthper_year- Per Year
per_hour, per_day, per_week, per_month, per_year Additional information about job posting that is not shown to candidate but used for internal system
When true, an interview config with generated criteria and questions is created for this job in the background. Leave false to configure the interview yourself with the interview-config endpoints. interview_config_id is null in this response either way; generation finishes shortly afterwards.
Response
Adds application_count. Load the job with an application_count
annotation (Count("applications")) so no application rows are fetched.
The job's ID in the system that supplied it, in that system's own form. Unique per organization and source.
Which system supplied external_id.
api- Public APIkombo- Kombotalent360- Talent360
api, kombo, talent360 full_time- Full Timepart_time- Part Timecontract- Contractinternship- Internshipfreelance- Freelance
full_time, part_time, contract, internship, freelance active- Activepaused- Pausedclosed- Closeddraft- Draft
active, paused, closed, draft Language for conducting interviews and generating CV evaluations
en-US- Englishde-DE- German
en-US, de-DE When enabled, the interview STARTS in language but the AI adapts to the candidate's spoken language. The call routes through a CallProfile flagged is_multilingual=True (must be configured at platform or org level). Analysis outputs (scoring, summary, insights) stay in language regardless of what the candidate spoke.
Controls whether candidates must upload a CV when applying
required- Requiredoptional- Optionaldisabled- Disabled
required, optional, disabled Additional information about job posting that is not shown to candidate but used for internal system
Salary block; the whole object is null when no salary is set.

