# Create a job

{% hint style="info" %}
**NEW** :: We have now the possibility to add multiple offices on the same job offer via the attribute "offices"`.` Note that we keep the retro-compatibility with the attribute "office"
{% endhint %}

In the **required parameters**, you have to call this endpoint with **AT LEAST ONE** of the following attributes:

* `office_id`
* `office_address`
* `office_zip_code`
* `office_city` (mandatory for creation)
* `office_country_code` (mandatory for creation)

If the related office is not found from the previous parameters, we will try to create the office if the following conditions are respected:

* access to `offices_rw` scope
* all mandatory attributes to create an office: `office_city` and `office_country_code`

{% hint style="info" %}
&#x20;This endpoint requires `jobs_rw` scope.
{% endhint %}

## create job

<mark style="color:green;">`POST`</mark> `https://www.welcomekit.co/api/v1/external/jobs`

#### Query Parameters

| Name                                                      | Type    | Description                                                                                                                                                                                                                                                                                                                      |
| --------------------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| organization\_reference<mark style="color:red;">\*</mark> | string  | Reference of the associated organization/company                                                                                                                                                                                                                                                                                 |
| profession\_reference (deprecated)                        | string  | Reference of the associated profession (This information is not used on our side anymore.)                                                                                                                                                                                                                                       |
| name<mark style="color:red;">\*</mark>                    | string  | Job name. Max length 200 characters                                                                                                                                                                                                                                                                                              |
| company\_description                                      | string  | Company description (Describe the company).                                                                                                                                                                                                                                                                                      |
| description<mark style="color:red;">\*</mark>             | string  | Job description (Explain the job, not the company). Max length 10 000 characters                                                                                                                                                                                                                                                 |
| profile<mark style="color:red;">\*</mark>                 | string  | Job profile (Explain who you’re looking for)                                                                                                                                                                                                                                                                                     |
| recruitment\_process                                      | string  | Job Recruitment Process (Delay / Interviews / Tests / etc.)                                                                                                                                                                                                                                                                      |
| contract\_type<mark style="color:red;">\*</mark>          | string  | Contract type for this job. Has to be a value from our dependencies list                                                                                                                                                                                                                                                         |
| language<mark style="color:red;">\*</mark>                | string  | Language for this job                                                                                                                                                                                                                                                                                                            |
| status                                                    | string  | Job status                                                                                                                                                                                                                                                                                                                       |
| salary\_min                                               | integer | Minimum salary for a given salary\_period                                                                                                                                                                                                                                                                                        |
| salary\_max                                               | integer | Maximum salary for a given `salary_period`                                                                                                                                                                                                                                                                                       |
| salary\_currency                                          | string  | Currency for the given salary                                                                                                                                                                                                                                                                                                    |
| salary\_period                                            | string  | Period for the given salary                                                                                                                                                                                                                                                                                                      |
| is\_remote                                                | boolean | \[DEPRECATED] Is remote work authorized for this job?                                                                                                                                                                                                                                                                            |
| remote                                                    | string  | Is remote work authorized for this job?                                                                                                                                                                                                                                                                                          |
| contract\_duration\_min                                   | integer | Recommended for 'TEMPORARY’ contract type                                                                                                                                                                                                                                                                                        |
| contract\_duration\_max                                   | integer | Maximum duration of the contract in months. Max value 36 (months)                                                                                                                                                                                                                                                                |
| department\_id                                            | integer | Department ID. Mainly used by companies which have a careers website managed through WelcomeKit.co                                                                                                                                                                                                                               |
| offices: id                                               | integer | Office ID. An office is like a “location”. You can use the `List Offices` API to retrieve the list of office ids. Also, if you don’t have an`id` you can call the API with `offices: zip_code` or `offices: country_code` which may be enough for us to retrieve the associated office (if any) or dynamically create a new one. |
| offices: address                                          | string  | <p>Office address (office will be found or created from this). <br>See: comment related to <code>offices : id</code></p>                                                                                                                                                                                                         |
| offices: zip\_code                                        | string  | <p>Office zip code (office will be found or created from this). <br>See: comment related to <code>offices: id</code></p>                                                                                                                                                                                                         |
| offices: city                                             | string  | <p>Office city (office will be found or created from this). <br>See: comment related to <code>offices: id</code></p>                                                                                                                                                                                                             |
| offices: country\_code                                    | string  | <p>Office country code (office will be found or created from this). <br>See: comment related to <code>offices: id</code></p>                                                                                                                                                                                                     |
| education\_level                                          | string  | Minimum education level ID                                                                                                                                                                                                                                                                                                       |
| experience\_level                                         | string  | Minimum experience level ID                                                                                                                                                                                                                                                                                                      |
| apply\_url                                                | string  | Job application URL. Do not input anything if you want to use WelcomeKit as your ATS                                                                                                                                                                                                                                             |
| start\_date                                               | string  | Start date for this job (YYYY-MM-DD)                                                                                                                                                                                                                                                                                             |
| external\_reference                                       | string  | External provider Reference / ID for this job. (unique constraint)                                                                                                                                                                                                                                                               |
| cms\_sites\_references                                    | string  | Comma separated list of cms sites references to publish this job                                                                                                                                                                                                                                                                 |
| offices                                                   | array   | List of office objects. Office attributes are listed below.                                                                                                                                                                                                                                                                      |

{% tabs %}
{% tab title="200 Success" %}

```
{
  "name" : "Fake Job",
  "external_reference" : "PROVIDER_REFERENCE1",
  "organization_reference" : "Pg4eV6k",
  "status" : "published",
  "profile" : "Fake Job Profile",
  "apply_url" : "http://company.com/jobs/superjob/apply/",
  "company_description" : "Fake Company Description.",
  "contract_duration_min" : null,
  "experience_level" : "1_TO_2_YEARS",
  "department_id" : null,
  "profession_reference" : "sales",
  "cms_sites_references" : "wttj_fr,smgo_fr",
  "contract_duration_max" : null,
  "start_date" : "2016-09-01T00:00:00.000+02:00",
  "description" : "Fake Job Description.",
  "contract_type" : "FULL_TIME",
  "language": "en",
  "salary": {
    "min": "30000",
    "max": "40000",
    "currency": "EUR",
    "period": "yearly"
  },
  "remote" : "fulltime",
  "office_id" : 196,
  "reference" : "WTTJ_gld0A7L",
  "education_level" : "BAC_5",
  "created_at" : "2017-11-13T17:15:26.146+01:00",
  "updated_at" : "2017-11-13T17:15:26.146+01:00",
  "published_at" : "2017-11-13T18:00:01.146+01:00",
  "archived_at" : null
}
```

{% endtab %}
{% endtabs %}

Request example

```
curl -X POST "https://www.welcomekit.co/api/v1/external/jobs" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer WK_API_KEY" \
    -d @- <<EOF
{
  "status": "published",
  "organization_reference": "Pg4eV6k",
  "profession_reference": "sales",
  "name": "Fake Job",
  "company_description": "Fake Company Description.",
  "description": "Fake Job Description.",
  "profile": "Fake Job Profile",
  "contract_type": "FULL_TIME",
  "language": "en",
  "salary_min": "30000",
  "salary_max": "40000",
  "salary_currency": "EUR",
  "salary_period": "yearly",
  "remote": "fulltime",
  "offices": [
    {"id": 1234},
    {"city": "Paris", "country_code": "fr"}
  ],
  "education_level": "BAC_5",
  "experience_level": "1_TO_2_YEARS",
  "apply_url": "http://company.com/jobs/superjob/apply/",
  "start_date": "2016-09-01",
  "external_reference": "PROVIDER_REFERENCE",
  "cms_sites_references": "wttj_fr,smgo_fr"
}
EOF
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.welcomekit.co/jobs-api/jobs/create-a-job.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
