curl --request GET \
--url https://{tenant_name}.{region}.techwolf.ai/taxonomy/skill_clusters/{skill_cluster_external_id}/skills \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/taxonomy/skill_clusters/{skill_cluster_external_id}/skills"
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/taxonomy/skill_clusters/{skill_cluster_external_id}/skills', 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/taxonomy/skill_clusters/{skill_cluster_external_id}/skills",
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/taxonomy/skill_clusters/{skill_cluster_external_id}/skills"
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/taxonomy/skill_clusters/{skill_cluster_external_id}/skills")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/taxonomy/skill_clusters/{skill_cluster_external_id}/skills")
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{
"count": 2,
"results": [
{
"skill_id": "4b85469d-6729-4d70-9876-a0faa2a2f63b",
"skill_name": "Python",
"skill_description": "Python is a high-level programming language with an intuitive syntax and a versatile standard library. The Skill \"Python\" requires the ability to write code in the Python programming language.",
"properties": {
"sap_status": {
"value": "active"
}
}
},
{
"skill_id": "c8c4b3a1-2d55-4dde-a71c-d7129c675a77",
"skill_name": "SQL",
"skill_description": "SQL is a standard database query language.The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.",
"properties": {
"sap_status": {
"value": "active"
}
}
},
{
"skill_id": "9844641-2d55-4dde-a71c-d684a26105849",
"skill_name": "Job Architecture Matching",
"skill_description": "Job Architecture Matching is the ability to match jobs to a job architecture.",
"properties": {
"sap_status": {
"value": "inactive"
}
}
}
]
}[
{
"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": "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."
}
]List Skills
Get a list of all Skills linked to a Skill Cluster.
curl --request GET \
--url https://{tenant_name}.{region}.techwolf.ai/taxonomy/skill_clusters/{skill_cluster_external_id}/skills \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/taxonomy/skill_clusters/{skill_cluster_external_id}/skills"
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/taxonomy/skill_clusters/{skill_cluster_external_id}/skills', 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/taxonomy/skill_clusters/{skill_cluster_external_id}/skills",
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/taxonomy/skill_clusters/{skill_cluster_external_id}/skills"
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/taxonomy/skill_clusters/{skill_cluster_external_id}/skills")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/taxonomy/skill_clusters/{skill_cluster_external_id}/skills")
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{
"count": 2,
"results": [
{
"skill_id": "4b85469d-6729-4d70-9876-a0faa2a2f63b",
"skill_name": "Python",
"skill_description": "Python is a high-level programming language with an intuitive syntax and a versatile standard library. The Skill \"Python\" requires the ability to write code in the Python programming language.",
"properties": {
"sap_status": {
"value": "active"
}
}
},
{
"skill_id": "c8c4b3a1-2d55-4dde-a71c-d7129c675a77",
"skill_name": "SQL",
"skill_description": "SQL is a standard database query language.The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.",
"properties": {
"sap_status": {
"value": "active"
}
}
},
{
"skill_id": "9844641-2d55-4dde-a71c-d684a26105849",
"skill_name": "Job Architecture Matching",
"skill_description": "Job Architecture Matching is the ability to match jobs to a job architecture.",
"properties": {
"sap_status": {
"value": "inactive"
}
}
}
]
}[
{
"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": "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 Skill Cluster ID in your system, consisting of alphanumeric characters, hyphens and underscores.
Query Parameters
The maximal number of entities returned, ordered by the skill_id field.
1 <= x <= 20050
The applied offset for returned entities, results starting from offset up to offset + limit.
x >= 0The 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 external vendor vocabulary you want to see the Skills displayed in. This will only work for vendors that are activated on your tenant.
techwolf, workday, sap_attribute_library "workday"
Additional Skill info attributes that will be included in the response body. This query parameter can be added multiple times to include more attributes.
skill_description, properties ["skill_description", "properties"]
Response
OK
Total number of Skills linked to a Skill Cluster.
x >= 02
Subset of Skills starting from offset up to offset + limit.
Show child attributes
Show child attributes
[
{
"skill_id": "4b85469d-6729-4d70-9876-a0faa2a2f63b",
"skill_name": "Python",
"skill_description": "Python is a high-level programming language with an intuitive syntax and a versatile standard library. The Skill \"Python\" requires the ability to write code in the Python programming language.",
"properties": { "sap_status": { "value": "active" } }
},
{
"skill_id": "c8c4b3a1-2d55-4dde-a71c-d7129c675a77",
"skill_name": "SQL",
"skill_description": "SQL is a standard database query language.The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.",
"properties": { "sap_status": { "value": "active" } }
},
{
"skill_id": "9844641-2d55-4dde-a71c-d684a26105849",
"skill_name": "Job Architecture Matching",
"skill_description": "Job Architecture Matching is the ability to match jobs to a job architecture.",
"properties": { "sap_status": { "value": "inactive" } }
}
]
Was this page helpful?