Skip to main content
POST
Use this endpoint when an external system needs to publish jobs directly into Kardow.

Required Fields

title
string
required
Job title.
description
string
required
Full job description. HTML is accepted.
company_name
string
required
Hiring company name.

Application method

how_to_apply
string
Where candidates apply — an external URL, an email address, or a phone number. Pair with how_to_apply_method.
how_to_apply_method
string
Controls how Kardow presents the apply button. One of:If omitted, Kardow auto-detects from the how_to_apply value.

Common optional fields

category
string
Category name, e.g. Engineering. Matched to an existing category (case-insensitive) or created if new. See Categories.
category_id
string
Existing category UUID. Takes precedence over category if both are sent.
job_type
string
One of full-time, part-time, contract, internship, temporary, or casual.
location
string
Freeform location such as Remote, Paris, or San Francisco, CA.
is_remote
boolean
Set to true for remote roles.
salary_min
number
Minimum salary amount.
salary_max
number
Maximum salary amount.
salary_currency
string
Currency code such as USD.
salary_period
string
One of hourly, daily, weekly, monthly, or yearly.
contact_email
string
Recruiter or HR contact email (not the apply destination — use how_to_apply for that).
status
string
default:"pending"
One of pending, active, expired, or draft.

Examples

The most common case: your ATS or careers page hosts the form.
cURL

Apply via email

cURL

Remote role with salary details

cURL

JavaScript example

Response Shape

data.id
string
required
Newly created job UUID.
data.slug
string
required
Job URL path (without the domain).
data.url
string
required
The full, shareable public URL to the created job on your live board (uses your active custom domain when you have one).
data.status
string
required
Current job status.
meta.organization_id
number
required
Organization that owns the job.
meta.board_url
string
required
The base public URL of your job board.
meta.url
string
required
The full public URL for the created job (same as data.url).

Example response

Authorizations

x-api-key
string
header
required

API key for authentication. Get yours from Settings > API Keys in the Kardow dashboard.

Body

application/json
title
string
required
description
string
required
company_name
string
required
apply_url
string

Preferred field for the application destination — an external URL, email address, or phone number. Alias of how_to_apply (which is still accepted).

apply_type
enum<string>

Preferred field for how candidates apply. Alias of how_to_apply_method.

Available options:
form-external,
website,
email,
phone,
form
how_to_apply
string

Legacy alias of apply_url. Where candidates apply — an external URL, email, or phone number.

how_to_apply_method
enum<string>

Legacy alias of apply_type. form-external = external ATS/form (most common), website = general job page, email = email address, phone = phone number, form = Kardow hosts the form.

Available options:
form-external,
website,
email,
phone,
form
posted_by_email
string<email>

Email of the employer account posting this job. Must match a job board user in the org, else the request returns 422 employer_not_found.

category
string

Category name (e.g. Engineering). Matched to an existing category or created if new.

is_remote
boolean
is_highlighted
boolean
is_sticky
boolean
location
string
location_restricted
boolean
category_id
string<uuid>

Existing category UUID. Takes precedence over category if both are sent.

job_type
enum<string>
Available options:
full-time,
part-time,
contract,
internship,
temporary,
casual
company_website
string<uri>
company_logo_url
string<uri>
salary_min
number
salary_max
number
salary_currency
string
salary_period
enum<string>
Available options:
hourly,
daily,
weekly,
monthly,
yearly
contact_email
string<email>
expires_at
string<date-time>
status
enum<string>
Available options:
pending,
active,
expired,
draft

Response

Job created

data
object
meta
object