Skip to main content
Export Vacancy Skill Profiles.
curl --request POST \
  --url https://{tenant_name}.{region}.techwolf.ai/export/vacancies/skill_profiles \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "limit": 10,
  "starting_after": "4cbdbabe-5644-4423-8157-520f8a2f429a",
  "filters": [
    {
      "filter": "is_active",
      "is_active": true
    }
  ]
}
'
import requests

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

payload = {
"limit": 10,
"starting_after": "4cbdbabe-5644-4423-8157-520f8a2f429a",
"filters": [
{
"filter": "is_active",
"is_active": True
}
]
}
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({
limit: 10,
starting_after: '4cbdbabe-5644-4423-8157-520f8a2f429a',
filters: [{filter: 'is_active', is_active: true}]
})
};

fetch('https://{tenant_name}.{region}.techwolf.ai/export/vacancies/skill_profiles', 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/export/vacancies/skill_profiles",
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([
'limit' => 10,
'starting_after' => '4cbdbabe-5644-4423-8157-520f8a2f429a',
'filters' => [
[
'filter' => 'is_active',
'is_active' => true
]
]
]),
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/export/vacancies/skill_profiles"

payload := strings.NewReader("{\n \"limit\": 10,\n \"starting_after\": \"4cbdbabe-5644-4423-8157-520f8a2f429a\",\n \"filters\": [\n {\n \"filter\": \"is_active\",\n \"is_active\": true\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/export/vacancies/skill_profiles")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"limit\": 10,\n \"starting_after\": \"4cbdbabe-5644-4423-8157-520f8a2f429a\",\n \"filters\": [\n {\n \"filter\": \"is_active\",\n \"is_active\": true\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

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

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 \"limit\": 10,\n \"starting_after\": \"4cbdbabe-5644-4423-8157-520f8a2f429a\",\n \"filters\": [\n {\n \"filter\": \"is_active\",\n \"is_active\": true\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "has_next": true,
  "records": [
    {
      "external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
      "skills": [
        {
          "skill_name": "Git",
          "skill_id": "ed8a3b44-59a0-44a6-a283-6c0e4b303be1"
        },
        {
          "skill_name": "Jenkins",
          "skill_id": "eebcf485-9045-4669-a6f7-6e7faa465ff9"
        },
        {
          "skill_name": "Kubernetes",
          "skill_id": "94835c7e-4135-40d7-aea6-165b33d01589"
        }
      ]
    },
    {
      "external_id": "61a6e076-d780-11ec-9d64-0242ac120002",
      "skills": [
        {
          "skill_name": "Balance Sheet",
          "skill_id": "8313fe8a-f39e-4a35-8c82-93b46c3de9bb"
        },
        {
          "skill_name": "IFRS",
          "skill_id": "bdb5ee3f-8ba0-4c40-92b2-0277431ae069"
        }
      ]
    }
  ],
  "next_starting_after": "61a6e076-d780-11ec-9d64-0242ac120002"
}

Authorizations

Authorization
string
header
required

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

Query Parameters

response_format
enum<string>
default:list

The format of the response profile.

Available options:
list,
hierarchy
Example:

"list"

vocab_language
enum<string>
default:en_uk

The display language used for Skill names. Altering the vocabulary language does not change the Skill Profile; it solely changes the way it is displayed. If not specified, the default language (en_uk) will be used. The en language is an alias for en_uk. IETF BCP 47 language tags (e.g. fr-FR, zh-CN) are also accepted and mapped to their internal equivalents.

Vendor-specific availability: Only the following languages are available for the default TechWolf vocabulary: en, en_uk, en_us, de, fr, nl. The additional languages (es, fr_ca, it, ja, ko, pt_br, zh_cn, zh_tw, sv, fi, da, no) are only available when the request is scoped to the workday vendor (via external_vendor=workday) and the tenant's Workday vocabulary includes them. Use GET /taxonomy/skills/languages to discover the exact set of languages available for a given vendor in your tenant.

Available options:
en,
en_uk,
en_us,
de,
fr,
nl,
es,
fr_ca,
it,
ja,
ko,
pt_br,
zh_cn,
zh_tw,
sv,
fi,
da,
no
external_vendor
enum<string>
default:techwolf

The external vendor vocabulary you want to see the Skills displayed in. This will only work for vendors that are activated on your tenant.

Available options:
techwolf,
workday,
sap_attribute_library
Example:

"workday"

Body

application/json
limit
integer
required

The number of Vacancy Skill Profiles to show on a single page.

Required range: 1 <= x <= 100
Example:

10

starting_after
string

The external_id of the Vacancy to continue looking from.

Maximum string length: 100
Example:

"4cbdbabe-5644-4423-8157-520f8a2f429a"

filters
(is_active · object | last_updated · object)[]

A set of filters used to apply on the exported Vacancy Skill Profiles.

Response

OK

has_next
boolean
required

True when there is more data after this page.

Example:

true

records
(List · object | Hierarchy · object)[]
required

A list with for each entity the requested data, limited by limit.

The default Skill Profile result returned. The profile consists of a list of Skills with scores, with each score representing the importance of the Skill at hand.

next_starting_after
string

The next starting_after value for pagination.

Maximum string length: 100
Example:

"61a6e076-d780-11ec-9d64-0242ac120002"