curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/export/employees/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
}
],
"include": [
"skill_validation_state",
"sources",
"rejected_skills",
"low_data_availability_flag"
],
"output_skills_sorting": "alphabetical"
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/export/employees/skill_profiles"
payload = {
"limit": 10,
"starting_after": "4cbdbabe-5644-4423-8157-520f8a2f429a",
"filters": [
{
"filter": "is_active",
"is_active": True
}
],
"include": ["skill_validation_state", "sources", "rejected_skills", "low_data_availability_flag"],
"output_skills_sorting": "alphabetical"
}
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}],
include: [
'skill_validation_state',
'sources',
'rejected_skills',
'low_data_availability_flag'
],
output_skills_sorting: 'alphabetical'
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/export/employees/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/employees/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
]
],
'include' => [
'skill_validation_state',
'sources',
'rejected_skills',
'low_data_availability_flag'
],
'output_skills_sorting' => 'alphabetical'
]),
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/employees/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 \"include\": [\n \"skill_validation_state\",\n \"sources\",\n \"rejected_skills\",\n \"low_data_availability_flag\"\n ],\n \"output_skills_sorting\": \"alphabetical\"\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/employees/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 \"include\": [\n \"skill_validation_state\",\n \"sources\",\n \"rejected_skills\",\n \"low_data_availability_flag\"\n ],\n \"output_skills_sorting\": \"alphabetical\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/export/employees/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 \"include\": [\n \"skill_validation_state\",\n \"sources\",\n \"rejected_skills\",\n \"low_data_availability_flag\"\n ],\n \"output_skills_sorting\": \"alphabetical\"\n}"
response = http.request(request)
puts response.read_body{
"has_next": true,
"records": [
{
"external_id": "61a6e076-d780-11ec-9d64-0242ac120002",
"num_skill_events": 2,
"low_data_availability": false,
"seniority": 4.290482248178559,
"skills": [
{
"skill_id": "4b85469d-6729-4d70-9876-a0faa2a2f63b",
"skill": "Python",
"validation_state": "suggested",
"sources": [
"education_history"
],
"source_events": [
{
"external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
"event_type": "education_history",
"source": "workday"
}
],
"self_rated_proficiency_level": 2,
"self_rated_proficiency_float": 0.4,
"inferred_proficiency_level": 5,
"inferred_proficiency_float": 1
},
{
"skill_id": "267d511f-26d4-4c84-b2ae-eae89627deba",
"skill": "Unit Testing",
"validation_state": "suggested",
"sources": [
"working_history"
],
"source_events": [
{
"external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
"event_type": "working_history",
"source": "workday"
}
],
"self_rated_proficiency_level": 2,
"self_rated_proficiency_float": 0.4,
"inferred_proficiency_level": 3,
"inferred_proficiency_float": 0.6
}
]
}
],
"next_starting_after": "61a6e076-d780-11ec-9d64-0242ac120007"
}Export Employee Skill Profile data
Export all Skill Profiles of all Employees by paginating through the data. The Employees are returned based on their creation time, with those created first being returned first.
curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/export/employees/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
}
],
"include": [
"skill_validation_state",
"sources",
"rejected_skills",
"low_data_availability_flag"
],
"output_skills_sorting": "alphabetical"
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/export/employees/skill_profiles"
payload = {
"limit": 10,
"starting_after": "4cbdbabe-5644-4423-8157-520f8a2f429a",
"filters": [
{
"filter": "is_active",
"is_active": True
}
],
"include": ["skill_validation_state", "sources", "rejected_skills", "low_data_availability_flag"],
"output_skills_sorting": "alphabetical"
}
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}],
include: [
'skill_validation_state',
'sources',
'rejected_skills',
'low_data_availability_flag'
],
output_skills_sorting: 'alphabetical'
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/export/employees/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/employees/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
]
],
'include' => [
'skill_validation_state',
'sources',
'rejected_skills',
'low_data_availability_flag'
],
'output_skills_sorting' => 'alphabetical'
]),
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/employees/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 \"include\": [\n \"skill_validation_state\",\n \"sources\",\n \"rejected_skills\",\n \"low_data_availability_flag\"\n ],\n \"output_skills_sorting\": \"alphabetical\"\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/employees/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 \"include\": [\n \"skill_validation_state\",\n \"sources\",\n \"rejected_skills\",\n \"low_data_availability_flag\"\n ],\n \"output_skills_sorting\": \"alphabetical\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/export/employees/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 \"include\": [\n \"skill_validation_state\",\n \"sources\",\n \"rejected_skills\",\n \"low_data_availability_flag\"\n ],\n \"output_skills_sorting\": \"alphabetical\"\n}"
response = http.request(request)
puts response.read_body{
"has_next": true,
"records": [
{
"external_id": "61a6e076-d780-11ec-9d64-0242ac120002",
"num_skill_events": 2,
"low_data_availability": false,
"seniority": 4.290482248178559,
"skills": [
{
"skill_id": "4b85469d-6729-4d70-9876-a0faa2a2f63b",
"skill": "Python",
"validation_state": "suggested",
"sources": [
"education_history"
],
"source_events": [
{
"external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
"event_type": "education_history",
"source": "workday"
}
],
"self_rated_proficiency_level": 2,
"self_rated_proficiency_float": 0.4,
"inferred_proficiency_level": 5,
"inferred_proficiency_float": 1
},
{
"skill_id": "267d511f-26d4-4c84-b2ae-eae89627deba",
"skill": "Unit Testing",
"validation_state": "suggested",
"sources": [
"working_history"
],
"source_events": [
{
"external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
"event_type": "working_history",
"source": "workday"
}
],
"self_rated_proficiency_level": 2,
"self_rated_proficiency_float": 0.4,
"inferred_proficiency_level": 3,
"inferred_proficiency_float": 0.6
}
]
}
],
"next_starting_after": "61a6e076-d780-11ec-9d64-0242ac120007"
}Authorizations
Query Parameters
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.
en, en_uk, en_us, de, fr, nl, es, fr_ca, it, ja, ko, pt_br, zh_cn, zh_tw, sv, fi, da, no Body
Expand the results with extra data.
Include:
sources- Show the event type sources that led to this Skill Cluster.seniority- Show the seniority of the Employee.rejected_skills- Show Skills that got rejected through Skill Profile feedback.low_data_availability_flag- Show whether there is low data availability for each Employee.self_rated_proficiency_level- Show the self-rated proficiency level of each Skill in each Employee's profile. This value depends on the maximum proficiency level set on your tenant (default levels are 1-5). If the self-rated proficiency level is not set,nullis returned.self_rated_proficiency_float- Show the self-rated proficiency float of each Skill in each Employee's profile. This value represents the self-rated proficiency level of the Skill, scaled to a range between between0.0and1.0. If the self-rated proficiency level is not set,nullis returned.inferred_proficiency_level- Show the inferred proficiency level of each Skill in each Employee's profile. This value depends on the maximum proficiency level set on your tenant (default levels are 1-5). If the self-rated proficiency level is not set,nullis returned.inferred_proficiency_float- Show the inferred proficiency float of each Skill in each Employee's profile. This value represents the inferred proficiency level of the Skill, scaled to a range between between0.0and1.0. If the inferred proficiency level is not set,nullis returned.properties- Show the skill information properties of each Skill.custom_properties- Show the custom properties of each Skill, as a mapping of property name to value. Returns{}for a Skill that has none.skill_source- Show whether each Skill originates from the TechWolf vocabulary or is a custom Skill.
skill_validation_state, sources, rejected_skills, low_data_availability_flag, self_rated_proficiency_level, self_rated_proficiency_float, inferred_proficiency_level, inferred_proficiency_float, properties, custom_properties, skill_source [
"skill_validation_state",
"sources",
"rejected_skills",
"low_data_availability_flag"
]
Response
OK
Was this page helpful?