JobsGet Job

Get Job

Read a specific Job detail identified by its unique ID.

curl -X GET "https://api.getkini.com/jobs/123456" \
  -H "Content-Type: application/json" \
  -H "Company-Id: 1" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "id": 123456,
  "external_id": "EXT-123456",
  "company": 1,
  "title": "Software Engineer (m/w/d)",
  "description": "Example job description. We are looking for a Software Engineer (m/w/d) to join our team in Berlin.",
  "posting_url": "https://careers.example.com/jobs/123456",
  "application_url": "https://careers.example.com/jobs/123456/apply",
  "application_email": "jobs@example.com",
  "status": "active",
  "remote": "on-site",
  "language": "en",
  "category": "software_development",
  "employment_type": "permanent",
  "work_schedule": "full_time",
  "senority": "mid_level",
  "education": "Bachelor's degree",
  "start_date": "2026-10-01",
  "contract_limitation": "Unlimited contract",
  "location_name": "Berlin, Germany",
  "street": "Example Street 1",
  "city": "Berlin",
  "country": "Germany",
  "postcode": "10115",
  "longitude": 13.405,
  "latitude": 52.52,
  "salary": "50,000 – 65,000 € gross per year",
  "salary_from": 50000,
  "salary_to": 65000,
  "salary_currency": "EUR",
  "salary_frequency": "annual",
  "contact_name": "Jane Doe",
  "contact_email": "jane.doe@example.com",
  "contact_title": "Head of HR",
  "contact_phone": "+49 30 1234567",
  "contact_salutation": "Frau",
  "banner_image": "https://www.example.com/banner.jpg",
  "screening_questions": [
    {
      "id": "sq-001",
      "question": "Do you have a valid work permit for Germany?",
      "answer_type": "boolean",
      "required": true,
      "options": [
        {
          "label": "Yes",
          "value": "yes"
        }
      ]
    }
  ],
  "application_form_fields": [
    {
      "id": "email",
      "name": "email",
      "label": "Email address",
      "type": "email",
      "subtype": null,
      "required": true,
      "order": 1,
      "options": []
    }
  ],
  "description_sections": [
    {
      "id": "tasks",
      "type": "tasks",
      "order": 2,
      "title": "Your tasks",
      "content": "Example section content. Describe the responsibilities of the role here."
    }
  ],
  "custom_fields": {
    "employer_name": "Example Company GmbH",
    "employer_logo": "https://www.example.com/logo.png"
  },
  "raw_values": {
    "employmentType": "FULL_TIME"
  },
  "import_source": "api",
  "run_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "fingerprint": "8f3c1a92d47b0e6558a1c0d4b7e39625f0a1c8d3b6e94275a0c1f8d3b6e94275",
  "apply_webhooks": {
    "indeed": "https://api.getkini.com/indeed/apply/1/123456/"
  },
  "created_at": "2026-06-02T11:07:44.512038Z",
  "updated_at": "2026-07-30T09:15:02.771604Z",
  "last_content_update_at": "2026-07-30T09:15:02.771604Z"
}
GET
/jobs/{id}
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.

Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.
Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer \<your_api_key\>.

Path Parameters

idinteger
Required

ID of the Job

Example:
123456

Headers

Company-Idinteger
Required

ID of the Company

Example:
1

Responses

idinteger
Required

Kini ID of the job

external_idstring

Job's ID in external ATS systems, used for integrations

companynumber

Kini ID of the company offering the job

titlestring

Title of the job

descriptionstring

Detailed description of the job's responsibilities and requirements

posting_urlstring

URL of the job posted on the company's career page

application_urlstring

URL through which applicants can apply on the company's career page

application_emailstring

Email address through which applicants can apply

statusstring

Posting status of the job (active, deleted, archived)

Allowed values:activedeletedarchived
remotestring

Work mode of the job (remote, hybrid, on-site)

Allowed values:remotehybridon-site
languagestring

Language of the job posting

categorystring

Category of the job, e.g. 'sales'

Allowed values: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_localizationwarehouse
employment_typestring

Employment type of the job (permanent, contract, minijob, etc.)

Allowed values:contractfreelanceinterntemporarypermanentvolunteerapprenticeshipworking_studentminijobother
work_schedulestring

Work schedule type for the position (full-time, part-time, flexible)

Allowed values:full_timepart_timeflexible
senoritystring

Required or expected seniority level

Allowed values:unexperiencedjuniormid_levelseniorleadmanagerdirectorexecutive
educationstring

Required or preferred education level

start_datestring

Required or expected start date

contract_limitationstring

Contractual limitations or terms associated with the job

location_namestring

Full-text location of where the job is based

streetstring

Street of the job's location

citystring

City of the job's location

countrystring

Country of the job's location

postcodestring

Postal code of the job's location

longitudenumber

Longitude coordinate of the job's location

latitudenumber

Latitude coordinate of the job's location

salarystring

General description of the salary package

salary_fromnumber

Starting salary range

salary_tonumber

Maximum salary range

salary_currencystring

Currency of the stated salary

salary_frequencystring

Payout frequency of the stated salary (annual, monthly, etc.)

contact_namestring

Name of the contact person responsible for the job posting

contact_emailstring

E-Mail Address of the contact person responsible for the job posting

contact_titlestring

Work title of the contact person responsible for the job posting

contact_phonestring

Phone Number of the contact person responsible for the job posting

contact_salutationstring

Salutation of the contact person responsible for the job posting

banner_imagestring

Banner Image URL

screening_questionsarray
application_form_fieldsarray

Fields of the application form on the company's career page, in display order

description_sectionsarray

Structured sections of the job description

custom_fieldsobject

Custom fields for the job posting as key-value pairs

raw_valuesobject

The untouched values Kini received from the ATS, before mapping. Diagnostic only — the shape follows the source system, not this API.

import_sourcestring

How the job reached Kini, e.g. api, crawler, or clickout

run_idstring

Identifier of the import run this job last came in on. Useful when tracing a sync.

fingerprintstring

Hash over the job's content fields. Changes whenever the posting's content changes, so you can detect real edits without diffing every field.

apply_webhooksobject

Apply webhook URLs for the channels the company is entitled to, keyed by channel. Empty when no apply integration is enabled.

created_atstring

Timestamp of when the job was first created

updated_atstring

Timestamp of when the job was last updated

last_content_update_atstring

Timestamp of when the job content was last updated