curl --request GET \
--url https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses', 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/employees/{employee_external_id}/recommended_courses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"score": 0.8,
"external_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7"
}
]
}[
{
"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."
}
]Get Course recommendations to improve the Skill Profile of an Employee
curl --request GET \
--url https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses', 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/employees/{employee_external_id}/recommended_courses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/employees/{employee_external_id}/recommended_courses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"score": 0.8,
"external_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7"
}
]
}[
{
"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
Unique external ID linked to this Employee, consisting of alphanumeric characters, hyphens and underscores. 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 maximal number of results returned.
1 <= x <= 10010
The minimum score of the results. Due to approximations for fast result-delivery, there might be records with a score slightly lower than the minimum.
0 <= x <= 10.7
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 The response format determines which additional data is returned along with the matches. Currently only supports the 'simple' format.
simple Additional entity attributes that will be included in the response body. This query parameter can be added multiple times to include more attributes.
custom_properties, entity ["custom_properties", "entity"]
Response
OK
List of match results.
Show child attributes
Show child attributes
Was this page helpful?