---
title: "Add or update a job."
method: POST
path: "/jobs"
tags: ["Add or Update"]
---

# Add or update a job.

`POST /jobs`

Add or update a job. Recommendations will be updated shortly to reflect these changes.

## Request body

- Job
  - `external_id` string, required — The unique entity id.
  - `client_data` object — Optional client-specific data
  - `title` string, required — The job title.
  - `addresses` string[] — The full street address including the country of the hiring locations. If the full street address is not available, the address should be provided up to the most granular level. At least one hiring location is required.
  - `geocoordinates` GeoPoint[] — Each element in the list characterizes a geo point.
    - `lat` number, required — Example: lat=50.8503396. Latitude in degrees following the WGS84 standard. Positive numbers correspond to latitude North.
    - `lon` number, required — Example: long=4.3517103. Longitude in degrees following the WGS84 standard. Positive numbers correspond to longitude East.
  - `publisher_name` string — The name of the company publishing this job.
  - `publisher_vatin` string — The publisher VAT identification number, or VATIN (https://en.wikipedia.org/wiki/VAT_identification_number).
  - `publisher_description` string — The description of the publisher.
  - `employer_name` string — The name of the employer.
  - `employer_vatin` string — The employer VAT identification number, or VATIN (https://en.wikipedia.org/wiki/VAT_identification_number).
  - `employer_description` string — A description of the employer.
  - `department` string — The department or functional area within the company with the open position.
  - `description` string — The job description.
  - `required_qualifications` string[] — A description of the qualifications and skills required to perform this job.
  - `skill_tags` SkillTag[] — A list of the job's skill tags.
    - `name` string, required
    - `experience` 'JUNIOR' | 'MEDIOR' | 'SENIOR' — An enumeration.
    - `type` 'GENERATED' | 'CONFIRMED' | 'REJECTED', required — An enumeration.
  - `offer_and_benefits_str` string — A description of the benefits offered with this job.
  - `application_instructions_str` string — The application instructions that a candidate should follow to apply for this job.
  - `compensation_currency` string — The currency of the compensation, defined in ISO 4217 (https://en.wikipedia.org/wiki/ISO_4217).
  - `hourly_gross_compensation` number — The gross hourly compensation expressed in the corresponding currency.
  - `languages` ValidateApiSpecLanguage[] — Language proficiencies requested for this job. Languages must be two-letter codes defined in ISO 639-1 (https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). Proficiencies are on the ILR scale (https://en.wikipedia.org/wiki/ILR_scale).
    - `language` string, required
    - `proficiency` 'ELEMENTARY' | 'LIMITED_WORKING' | 'PROFESSIONAL_WORKING' | 'FULL_PROFESSIONAL' | 'NATIVE_OR_BILINGUAL' — An enumeration.
  - `degrees` string[] — Requested degrees for this job.
  - `education_levels` string[] — Requested education levels as defined in ISCED 2011 levels (https://en.wikipedia.org/wiki/International_Standard_Classification_of_Education, http://uis.unesco.org/sites/default/files/documents/international-standard-classification-of-education-isced-2011-en.pdf). Preferably as granular as possible.
  - `seniority_preferences` ExperienceLevel[] — The requested work experience for this job.
  - `relationship_preferences` RelationshipType[] — The desired employment relationship.
  - `location_preferences` LocationType[] — The employment location.
  - `employment_term_preferences` TermType[] — The employment term.
  - `capacity_preferences` CapacityType[] — The employment capacity.
  - `workday_preferences` DaysType[] — The employment schedule.
  - `hours_preferences` HoursType[] — The employment hours.
  - `job_start_datetime` union — The localized start timestamp of the job.
    - string, date-time
    - string
  - `job_end_datetime` union — The localized end timestamp (including timezone) of the job in ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601). If null, it is known that there is no end time. If this property is missing, the end time is unknown.
    - string, date-time
    - string
  - `last_updated_datetime` union — The localized timestamp when the job was last modified.
    - string, date-time
    - string
  - `publication_datetime` union — The localized timestamp (including timezone) this job posting was most recently published in ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601).
    - string, date-time
    - string
  - `expiration_datetime` union — The localized timestamp (including timezone) this job posting expires in ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601). If null, this posting does not expire.
    - string, date-time
    - string
  - `may_be_recommended` boolean — Whether this job may be recommended (subject to the posting publish and expire times).
  - `may_receive_recommendations` boolean — Whether this job may receive recommendations.
  - `attachments` Attachment[]
    - `filename` string, required — The name of the file. We support .pdf, .docx and .doc
    - `content` string, required — The attachment content base-64 encoded. We support .pdf, .docx and .doc.

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/talentapi/apis/talent-api-api-reference.md) · [All operations](https://skmtc.net/talentapi/apis/talent-api-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/talentapi/talent-api-api-reference/revisions/0798d0794573/schema)
