Create Job
Create a Job posting at a Company using the Company's ID.
curl -X POST "https://api.getkini.com/jobs" \
-H "Content-Type: application/json" \
-H "Company-Id: example_string" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"external_id": "null",
"title": "example_string",
"description": "null",
"posting_url": "null",
"application_url": "null",
"application_email": "null",
"status": "null",
"remote": "null",
"language": "null",
"category": "null",
"work_schedule": "null",
"employment_type": "null",
"senority": "null",
"education": "null",
"start_date": "null",
"contract_limitation": "null",
"location_name": "null",
"street": "null",
"city": "null",
"country": "null",
"postcode": "null",
"longitude": "null",
"latitude": "null",
"salary": "null",
"salary_from": "null",
"salary_to": "null",
"salary_currency": "null",
"salary_frequency": "null",
"contact_name": "null",
"contact_email": "null",
"contact_title": "null",
"contact_phone": "null",
"banner_image": "example_string",
"screening_questions": [
{
"id": "example_string",
"question": "example_string",
"answer_type": "boolean",
"required": true,
"options": [
{
"label": "example_string",
"value": "example_string"
}
]
}
],
"description_sections": [
{
"id": "example_string",
"type": "introduction",
"order": 42,
"title": "example_string",
"content": "example_string"
}
],
"custom_fields": {
"department": "Engineering",
"location_type": "Hybrid",
"salary_range": "60000-80000"
}
}'
import requests
import json
url = "https://api.getkini.com/jobs"
headers = {
"Content-Type": "application/json",
"Company-Id": "example_string",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"external_id": "null",
"title": "example_string",
"description": "null",
"posting_url": "null",
"application_url": "null",
"application_email": "null",
"status": "null",
"remote": "null",
"language": "null",
"category": "null",
"work_schedule": "null",
"employment_type": "null",
"senority": "null",
"education": "null",
"start_date": "null",
"contract_limitation": "null",
"location_name": "null",
"street": "null",
"city": "null",
"country": "null",
"postcode": "null",
"longitude": "null",
"latitude": "null",
"salary": "null",
"salary_from": "null",
"salary_to": "null",
"salary_currency": "null",
"salary_frequency": "null",
"contact_name": "null",
"contact_email": "null",
"contact_title": "null",
"contact_phone": "null",
"banner_image": "example_string",
"screening_questions": [
{
"id": "example_string",
"question": "example_string",
"answer_type": "boolean",
"required": true,
"options": [
{
"label": "example_string",
"value": "example_string"
}
]
}
],
"description_sections": [
{
"id": "example_string",
"type": "introduction",
"order": 42,
"title": "example_string",
"content": "example_string"
}
],
"custom_fields": {
"department": "Engineering",
"location_type": "Hybrid",
"salary_range": "60000-80000"
}
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.getkini.com/jobs", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Company-Id": "example_string",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"external_id": "null",
"title": "example_string",
"description": "null",
"posting_url": "null",
"application_url": "null",
"application_email": "null",
"status": "null",
"remote": "null",
"language": "null",
"category": "null",
"work_schedule": "null",
"employment_type": "null",
"senority": "null",
"education": "null",
"start_date": "null",
"contract_limitation": "null",
"location_name": "null",
"street": "null",
"city": "null",
"country": "null",
"postcode": "null",
"longitude": "null",
"latitude": "null",
"salary": "null",
"salary_from": "null",
"salary_to": "null",
"salary_currency": "null",
"salary_frequency": "null",
"contact_name": "null",
"contact_email": "null",
"contact_title": "null",
"contact_phone": "null",
"banner_image": "example_string",
"screening_questions": [
{
"id": "example_string",
"question": "example_string",
"answer_type": "boolean",
"required": true,
"options": [
{
"label": "example_string",
"value": "example_string"
}
]
}
],
"description_sections": [
{
"id": "example_string",
"type": "introduction",
"order": 42,
"title": "example_string",
"content": "example_string"
}
],
"custom_fields": {
"department": "Engineering",
"location_type": "Hybrid",
"salary_range": "60000-80000"
}
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"external_id": "null",
"title": "example_string",
"description": "null",
"posting_url": "null",
"application_url": "null",
"application_email": "null",
"status": "null",
"remote": "null",
"language": "null",
"category": "null",
"work_schedule": "null",
"employment_type": "null",
"senority": "null",
"education": "null",
"start_date": "null",
"contract_limitation": "null",
"location_name": "null",
"street": "null",
"city": "null",
"country": "null",
"postcode": "null",
"longitude": "null",
"latitude": "null",
"salary": "null",
"salary_from": "null",
"salary_to": "null",
"salary_currency": "null",
"salary_frequency": "null",
"contact_name": "null",
"contact_email": "null",
"contact_title": "null",
"contact_phone": "null",
"banner_image": "example_string",
"screening_questions": [
{
"id": "example_string",
"question": "example_string",
"answer_type": "boolean",
"required": true,
"options": [
{
"label": "example_string",
"value": "example_string"
}
]
}
],
"description_sections": [
{
"id": "example_string",
"type": "introduction",
"order": 42,
"title": "example_string",
"content": "example_string"
}
],
"custom_fields": {
"department": "Engineering",
"location_type": "Hybrid",
"salary_range": "60000-80000"
}
}`)
req, err := http.NewRequest("POST", "https://api.getkini.com/jobs", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Company-Id", "example_string")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.getkini.com/jobs')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Company-Id'] = 'example_string'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"external_id": "null",
"title": "example_string",
"description": "null",
"posting_url": "null",
"application_url": "null",
"application_email": "null",
"status": "null",
"remote": "null",
"language": "null",
"category": "null",
"work_schedule": "null",
"employment_type": "null",
"senority": "null",
"education": "null",
"start_date": "null",
"contract_limitation": "null",
"location_name": "null",
"street": "null",
"city": "null",
"country": "null",
"postcode": "null",
"longitude": "null",
"latitude": "null",
"salary": "null",
"salary_from": "null",
"salary_to": "null",
"salary_currency": "null",
"salary_frequency": "null",
"contact_name": "null",
"contact_email": "null",
"contact_title": "null",
"contact_phone": "null",
"banner_image": "example_string",
"screening_questions": [
{
"id": "example_string",
"question": "example_string",
"answer_type": "boolean",
"required": true,
"options": [
{
"label": "example_string",
"value": "example_string"
}
]
}
],
"description_sections": [
{
"id": "example_string",
"type": "introduction",
"order": 42,
"title": "example_string",
"content": "example_string"
}
],
"custom_fields": {
"department": "Engineering",
"location_type": "Hybrid",
"salary_range": "60000-80000"
}
}'
response = http.request(request)
puts response.body
{
"id": 123,
"external_id": "null",
"company": "null",
"title": "example_string",
"description": "null",
"posting_url": "null",
"application_url": "null",
"status": "null",
"remote": "null",
"language": "null",
"category": "null",
"employment_type": "null",
"work_schedule": "null",
"senority": "null",
"start_date": "null",
"contract_limitation": "null",
"location_name": "null",
"street": "null",
"city": "null",
"country": "null",
"postcode": "null",
"longitude": "null",
"latitude": "null",
"salary": "null",
"salary_from": "null",
"salary_to": "null",
"salary_currency": "null",
"salary_frequency": "null",
"contact_name": "null",
"contact_email": "null",
"contact_title": "null",
"contact_phone": "null",
"banner_image": "example_string",
"screening_questions": [
{
"id": "example_string",
"question": "example_string",
"answer_type": "boolean",
"required": true,
"options": [
{
"label": "example_string",
"value": "example_string"
}
]
}
],
"description_sections": [
{
"id": "example_string",
"type": "introduction",
"order": 42,
"title": "example_string",
"content": "example_string"
}
],
"custom_fields": {
"employer_name": "Acme Inc.",
"employer_logo": "https://example.com/logo.png"
},
"created_at": "2024-12-25T10:00:00Z",
"updated_at": "2024-12-25T10:00:00Z",
"last_content_update_at": "2024-12-25T10:00:00Z"
}
/jobs
Target server for requests. Edit to use your own host.
Bearer API Key Authentication. Include your API key in the Authorization header.
The media type of the request body
ID of the Company
Job's ID in external ATS systems, used for integrations
Title of the job
Detailed description of the job's responsibilities and requirements
URL of the job posted on the company's career page
URL through which applicants can apply on the company's career page
Email address through which applicants can apply
Posting status of the job (active, deleted, archived)
Work mode of the job (remote, hybrid, on-site)
Language of the job posting as an ISO 639-1 code (e.g. 'en', 'de')
Category of the job, e.g. 'sales'
Work schedule type for the position (full-time, part-time, flexible)
Employment type of the job (permanent, contract, minijob, etc.)
Required or expected seniority level
Required or preferred education level
Required or expected start date
Contractual limitations or terms associated with the job
Full-text location of where the job is based
Street of the job's location
City of the job's location
Country of the job's location
Postal code of the job's location
Longitude coordinate of the job's location
Latitude coordinate of the job's location
General description of the salary package
Starting salary range
Maximum salary range
Currency of the stated salary
Payout frequency of the stated salary (annual, monthly, etc.)
Name of the contact person responsible for the job posting
E-Mail Address of the contact person responsible for the job posting
Work title of the contact person responsible for the job posting
Phone Number of the contact person responsible for the job posting
Custom fields for the job posting as key-value pairs
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Bearer API Key Authentication. Include your API key in the Authorization header.
Headers
ID of the Company
Body
Job's ID in external ATS systems, used for integrations
Title of the job
Detailed description of the job's responsibilities and requirements
URL of the job posted on the company's career page
URL through which applicants can apply on the company's career page
Email address through which applicants can apply
Posting status of the job (active, deleted, archived)
activedeletedarchivedLanguage of the job posting as an ISO 639-1 code (e.g. 'en', 'de')
Category of the job, e.g. 'sales'
accounting_financeadministrationarchitecture_constructionarts_media_entertainmentbusiness_developmentcleaning_facilitiesconsultingcustomer_service_supportdata_analyticsdesigneducation_trainingengineeringentertainment_travelevent_managementfinancehealthcarehospitality_tourismhr_recruitmentinstallation_maintenance_repairit_supportlegallogistics_supply_chainmanagement_executivemarketingnon_profitoperationsotherpersonal_care_servicespharmaceutical_life_sciencesproduct_managementproject_managementpublic_relationsreal_estateretailsalesscience_technologysoftware_developmentsocial_servicessports_fitness_recreationtranslation_localizationwarehouseWork schedule type for the position (full-time, part-time, flexible)
full_timepart_timeflexibleEmployment type of the job (permanent, contract, minijob, etc.)
contractfreelanceinterntemporarypermanentvolunteerapprenticeshipworking_studentminijobotherRequired or expected seniority level
unexperiencedjuniormid_levelseniorleadmanagerdirectorexecutiveRequired or preferred education level
Required or expected start date
Contractual limitations or terms associated with the job
Full-text location of where the job is based
Street of the job's location
City of the job's location
Country of the job's location
Postal code of the job's location
Longitude coordinate of the job's location
Latitude coordinate of the job's location
General description of the salary package
Starting salary range
Maximum salary range
Currency of the stated salary
Payout frequency of the stated salary (annual, monthly, etc.)
Name of the contact person responsible for the job posting
E-Mail Address of the contact person responsible for the job posting
Work title of the contact person responsible for the job posting
Phone Number of the contact person responsible for the job posting
Custom fields for the job posting as key-value pairs
{"department":"Engineering","location_type":"Hybrid","salary_range":"60000-80000"}