curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/taxonomy/skills \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"skill_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"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"
}
}
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/taxonomy/skills"
payload = {
"skill_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"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" } }
}
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({
skill_id: 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
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'}}
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/taxonomy/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/skills",
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([
'skill_id' => 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
'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'
]
]
]),
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/taxonomy/skills"
payload := strings.NewReader("{\n \"skill_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"skill_name\": \"SQL\",\n \"skill_description\": \"SQL is a standard database query language. The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.\",\n \"properties\": {\n \"sap_status\": {\n \"value\": \"active\"\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/taxonomy/skills")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"skill_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"skill_name\": \"SQL\",\n \"skill_description\": \"SQL is a standard database query language. The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.\",\n \"properties\": {\n \"sap_status\": {\n \"value\": \"active\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/taxonomy/skills")
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 \"skill_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"skill_name\": \"SQL\",\n \"skill_description\": \"SQL is a standard database query language. The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.\",\n \"properties\": {\n \"sap_status\": {\n \"value\": \"active\"\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 organisational_unit for this resource. This Organisational Unit does not exist yet."
}
][
{
"title": "405 Method Not Allowed",
"description": "This method is not allowed for the requested URL."
}
][
{
"title": "409 Conflict",
"description": "The resource already exists."
}
][
{
"title": "413 Payload Too Large",
"description": "Request payload is too large."
}
][
{
"title": "415 Unsupported Media Type",
"description": "Content-type must be one of: application/json"
}
][
{
"title": "422 Unprocessable entity",
"description": "The request body contains some fields with invalid data (e.g. invalid date, invalid enumeration value ..)"
}
]"max connections reached: <limit>"[
{
"title": "503 Service Unavailable",
"description": "The Skill Engine API is currently not available. Please contact TechWolf or try again later."
}
]Create Skill
Create a new Skill in the system. This endpoint requires write_skills scope access. The new Skill will be flagged as custom.
curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/taxonomy/skills \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"skill_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"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"
}
}
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/taxonomy/skills"
payload = {
"skill_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"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" } }
}
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({
skill_id: 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
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'}}
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/taxonomy/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/skills",
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([
'skill_id' => 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
'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'
]
]
]),
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/taxonomy/skills"
payload := strings.NewReader("{\n \"skill_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"skill_name\": \"SQL\",\n \"skill_description\": \"SQL is a standard database query language. The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.\",\n \"properties\": {\n \"sap_status\": {\n \"value\": \"active\"\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/taxonomy/skills")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"skill_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"skill_name\": \"SQL\",\n \"skill_description\": \"SQL is a standard database query language. The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.\",\n \"properties\": {\n \"sap_status\": {\n \"value\": \"active\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/taxonomy/skills")
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 \"skill_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"skill_name\": \"SQL\",\n \"skill_description\": \"SQL is a standard database query language. The Skill \\\"SQL\\\" requires the ability to write and execute SQL queries.\",\n \"properties\": {\n \"sap_status\": {\n \"value\": \"active\"\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 organisational_unit for this resource. This Organisational Unit does not exist yet."
}
][
{
"title": "405 Method Not Allowed",
"description": "This method is not allowed for the requested URL."
}
][
{
"title": "409 Conflict",
"description": "The resource already exists."
}
][
{
"title": "413 Payload Too Large",
"description": "Request payload is too large."
}
][
{
"title": "415 Unsupported Media Type",
"description": "Content-type must be one of: application/json"
}
][
{
"title": "422 Unprocessable entity",
"description": "The request body contains some fields with invalid data (e.g. invalid date, invalid enumeration value ..)"
}
]"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.
Query Parameters
The external vendor vocabulary in which the input Skills exist. This will only work for vendors that are activated on your tenant. If not passed, the input Skills have to be in the TechWolf vocabulary.
techwolf, workday, sap_attribute_library "workday"
Body
Default structure for a Skill.
The unique ID in your system, consisting of alphanumeric characters, hyphens and underscores.
1 - 100[a-zA-Z0-9_-]+"a3903505-eb84-42dc-a79f-5e7b1fe897b7"
Name of the Skill. This should be provided in the default language (en_uk). To add translations, use the Update Skill endpoint.
1 - 255"SQL"
Description of the Skill. This should be provided in the default language (en_uk). To add translations, use the Update Skill endpoint.
1"SQL is a standard database query language. The Skill \"SQL\" requires the ability to write and execute SQL queries."
Skill Properties give additional information about the Skill. These properties are the same over all occurrences of the Skill.
Show child attributes
Show child attributes
{ "sap_status": { "value": "active" } }
Response
No Content
Was this page helpful?