curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"titles": [
{
"job_title": "Business analyst"
},
{
"job_title": "Data Scientist"
}
]
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions"
payload = { "titles": [{ "job_title": "Business analyst" }, { "job_title": "Data Scientist" }] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({titles: [{job_title: 'Business analyst'}, {job_title: 'Data Scientist'}]})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions', 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/companies/{external_id}/desired_functions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'titles' => [
[
'job_title' => 'Business analyst'
],
[
'job_title' => 'Data Scientist'
]
]
]),
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/companies/{external_id}/desired_functions"
payload := strings.NewReader("{\n \"titles\": [\n {\n \"job_title\": \"Business analyst\"\n },\n {\n \"job_title\": \"Data Scientist\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"titles\": [\n {\n \"job_title\": \"Business analyst\"\n },\n {\n \"job_title\": \"Data Scientist\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"titles\": [\n {\n \"job_title\": \"Business analyst\"\n },\n {\n \"job_title\": \"Data Scientist\"\n }\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": "403 Forbidden",
"description": "You don't have access to this resource."
}
][
{
"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."
}
]"max connections reached: <limit>"[
{
"title": "503 Service Unavailable",
"description": "The Skill Engine API is currently not available. Please contact TechWolf or try again later."
}
]Upload and add desired functions
Upload a list of desired functions that will be created as inactive pseudo Vacancies linked to the External Company. If no Skill Profile can be created from the Job title alone, the desired function will not be stored. The desired function Vacancies will be added to the already existing desired function Vacancies of the External Company.
curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"titles": [
{
"job_title": "Business analyst"
},
{
"job_title": "Data Scientist"
}
]
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions"
payload = { "titles": [{ "job_title": "Business analyst" }, { "job_title": "Data Scientist" }] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({titles: [{job_title: 'Business analyst'}, {job_title: 'Data Scientist'}]})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions', 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/companies/{external_id}/desired_functions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'titles' => [
[
'job_title' => 'Business analyst'
],
[
'job_title' => 'Data Scientist'
]
]
]),
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/companies/{external_id}/desired_functions"
payload := strings.NewReader("{\n \"titles\": [\n {\n \"job_title\": \"Business analyst\"\n },\n {\n \"job_title\": \"Data Scientist\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"titles\": [\n {\n \"job_title\": \"Business analyst\"\n },\n {\n \"job_title\": \"Data Scientist\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/companies/{external_id}/desired_functions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"titles\": [\n {\n \"job_title\": \"Business analyst\"\n },\n {\n \"job_title\": \"Data Scientist\"\n }\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": "403 Forbidden",
"description": "You don't have access to this resource."
}
][
{
"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."
}
]"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
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The unique ID in your system, consisting of alphanumeric characters, hyphens and underscores.
1 - 100[a-zA-Z0-9_-]+"a3903505-eb84-42dc-a79f-5e7b1fe897b7"
Query Parameters
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.
auto, nl, fr, en, de "en"
Explicitly sets the input format used to represent the submitted desired functions as either:
- a structured list of Job title objects.
- free-text multiline string input in which each line contains at most one Job title.
list, free_text "list"
Body
- list
- free_text
Collection of desired functions that should be considered in matching.
Show child attributes
Show child attributes
[
{ "job_title": "Business analyst" },
{ "job_title": "Data Scientist" }
]
Response
No Content
Was this page helpful?