Skip to main content
Update Vacancy
curl --request PATCH \
  --url https://{tenant_name}.{region}.techwolf.ai/vacancies/{external_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "job_title": "Software engineer",
  "job_description": "We are looking for a software engineer with great communication Skills in Ghent. Experience in front-end development, git, agile working is a plus.",
  "active": true,
  "languages": [
    {
      "language": "nl",
      "level": 2
    }
  ],
  "company": "b3903505-eb84-42dc-a79f-5e7b1fe897b7",
  "location": {
    "lat": 51.0216707,
    "lng": 3.6887328
  }
}
'
import requests

url = "https://{tenant_name}.{region}.techwolf.ai/vacancies/{external_id}"

payload = {
"job_title": "Software engineer",
"job_description": "We are looking for a software engineer with great communication Skills in Ghent. Experience in front-end development, git, agile working is a plus.",
"active": True,
"languages": [
{
"language": "nl",
"level": 2
}
],
"company": "b3903505-eb84-42dc-a79f-5e7b1fe897b7",
"location": {
"lat": 51.0216707,
"lng": 3.6887328
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
job_title: 'Software engineer',
job_description: 'We are looking for a software engineer with great communication Skills in Ghent. Experience in front-end development, git, agile working is a plus.',
active: true,
languages: [{language: 'nl', level: 2}],
company: 'b3903505-eb84-42dc-a79f-5e7b1fe897b7',
location: {lat: 51.0216707, lng: 3.6887328}
})
};

fetch('https://{tenant_name}.{region}.techwolf.ai/vacancies/{external_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant_name}.{region}.techwolf.ai/vacancies/{external_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'job_title' => 'Software engineer',
'job_description' => 'We are looking for a software engineer with great communication Skills in Ghent. Experience in front-end development, git, agile working is a plus.',
'active' => true,
'languages' => [
[
'language' => 'nl',
'level' => 2
]
],
'company' => 'b3903505-eb84-42dc-a79f-5e7b1fe897b7',
'location' => [
'lat' => 51.0216707,
'lng' => 3.6887328
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://{tenant_name}.{region}.techwolf.ai/vacancies/{external_id}"

payload := strings.NewReader("{\n \"job_title\": \"Software engineer\",\n \"job_description\": \"We are looking for a software engineer with great communication Skills in Ghent. Experience in front-end development, git, agile working is a plus.\",\n \"active\": true,\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ],\n \"company\": \"b3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n }\n}")

req, _ := http.NewRequest("PATCH", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.patch("https://{tenant_name}.{region}.techwolf.ai/vacancies/{external_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"job_title\": \"Software engineer\",\n \"job_description\": \"We are looking for a software engineer with great communication Skills in Ghent. Experience in front-end development, git, agile working is a plus.\",\n \"active\": true,\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ],\n \"company\": \"b3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://{tenant_name}.{region}.techwolf.ai/vacancies/{external_id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"job_title\": \"Software engineer\",\n \"job_description\": \"We are looking for a software engineer with great communication Skills in Ghent. Experience in front-end development, git, agile working is a plus.\",\n \"active\": true,\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ],\n \"company\": \"b3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n }\n}"

response = http.request(request)
puts response.read_body
[
  {
    "title": "400 Bad Request",
    "description": "The request body was not structured correctly."
  }
]
[
{
"title": "401 Unauthorized",
"description": "OAuth access token is missing, invalid or expired."
}
]
[
{
"title": "404 Not Found",
"description": "Unknown external_id describing this resource. Please create this resource first."
}
]
[
{
"title": "405 Method Not Allowed",
"description": "This method is not allowed for the requested URL."
}
]
[
{
"title": "413 Payload Too Large",
"description": "Request payload is too large."
}
]
[
{
"title": "415 Unsupported Media Type",
"description": "Content-type must be one of: application/json"
}
]
[
{
"title": "422 Unprocessable entity",
"description": "The request body contains some fields with invalid data (e.g. invalid date, invalid enumeration value ..)"
}
]
"max connections reached: <limit>"
[
{
"title": "503 Service Unavailable",
"description": "The Skill Engine API is currently not available. Please contact TechWolf or try again later."
}
]

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

external_id
string<uuid>
required

The unique ID in your system, consisting of alphanumeric characters, hyphens and underscores.

Required string length: 1 - 100
Pattern: [a-zA-Z0-9_-]+
Example:

"a3903505-eb84-42dc-a79f-5e7b1fe897b7"

Query Parameters

language
enum<string>
required

The language of the input data, which has an impact on the Skill extraction. auto will automatically detect the language used in the provided data.

Available options:
auto,
nl,
fr,
en,
de
Example:

"en"

strict
boolean
default:false

If strict is enabled, entity creation will fail when a Skill Profile cannot be constructed. If strict is set to false, failed Skill Profile creation will still result in entity creation, but the Skill Profile will be empty.

Body

application/json

Default structure for updating Vacancy data.

job_title
string

Title of the Vacancy.

Required string length: 1 - 255
Example:

"Software engineer"

job_description
string

Textual description of the Vacancy (job posting).

Minimum string length: 1
Example:

"We are looking for a software engineer with great communication Skills in Ghent. Experience in front-end development, git, agile working is a plus."

active
boolean | null
default:true

The Vacancy will not be used in matching if active is false. This is useful when a Vacancy is being phased out.

Example:

true

languages
object[] | null

List of ISO 639-1 codes for languages required by the Vacancy, combined with the proficiency level. The proficiency levels go from 1 (elementary proficiency) to 5 (native proficiency). If the level is omitted, the default proficiency level of 2 is used.

company
string<uuid> | null

external_id from the External Company the Vacancy is linked to.

Minimum string length: 1
Pattern: [a-zA-Z0-9_-]+
Example:

"b3903505-eb84-42dc-a79f-5e7b1fe897b7"

location
Location · object

A geographic location, expressed in latitude and longitude. This can represent a home address, an office location... Each entity is limited to having a single location. To get the latitude and longitude for a given address, you can use the Google Maps Geocoding API or a predefined lookup table (for example by zip code). If location is present in matching or filters, it will act as an override for geo-distance calculations.

Response

No Content