Skip to main content
Create Course
curl --request POST \
  --url https://{tenant_name}.{region}.techwolf.ai/courses \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "external_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
  "course_title": "Computer Science 101",
  "course_description": "This Professional Certificate will start you at the absolute beginning teaching you about the fundamental binary language of modern computers. You’ll learn about the Turing Machine—a model for the digital computer. You’ll also learn the basics of analytic logic and how learning and applying basic principles of logic can help you both work with and work on technical solutions. You’ll work in a managed environment and learn to code your very first program in Python – a powerful but simple programming language used by app developers and data scientists.",
  "source": "Udemy",
  "active": true
}
'
import requests

url = "https://{tenant_name}.{region}.techwolf.ai/courses"

payload = {
"external_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"course_title": "Computer Science 101",
"course_description": "This Professional Certificate will start you at the absolute beginning teaching you about the fundamental binary language of modern computers. You’ll learn about the Turing Machine—a model for the digital computer. You’ll also learn the basics of analytic logic and how learning and applying basic principles of logic can help you both work with and work on technical solutions. You’ll work in a managed environment and learn to code your very first program in Python – a powerful but simple programming language used by app developers and data scientists.",
"source": "Udemy",
"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({
external_id: 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
course_title: 'Computer Science 101',
course_description: 'This Professional Certificate will start you at the absolute beginning teaching you about the fundamental binary language of modern computers. You’ll learn about the Turing Machine—a model for the digital computer. You’ll also learn the basics of analytic logic and how learning and applying basic principles of logic can help you both work with and work on technical solutions. You’ll work in a managed environment and learn to code your very first program in Python – a powerful but simple programming language used by app developers and data scientists.',
source: 'Udemy',
active: true
})
};

fetch('https://{tenant_name}.{region}.techwolf.ai/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/courses",
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([
'external_id' => 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
'course_title' => 'Computer Science 101',
'course_description' => 'This Professional Certificate will start you at the absolute beginning teaching you about the fundamental binary language of modern computers. You’ll learn about the Turing Machine—a model for the digital computer. You’ll also learn the basics of analytic logic and how learning and applying basic principles of logic can help you both work with and work on technical solutions. You’ll work in a managed environment and learn to code your very first program in Python – a powerful but simple programming language used by app developers and data scientists.',
'source' => 'Udemy',
'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/courses"

payload := strings.NewReader("{\n \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"course_title\": \"Computer Science 101\",\n \"course_description\": \"This Professional Certificate will start you at the absolute beginning teaching you about the fundamental binary language of modern computers. You’ll learn about the Turing Machine—a model for the digital computer. You’ll also learn the basics of analytic logic and how learning and applying basic principles of logic can help you both work with and work on technical solutions. You’ll work in a managed environment and learn to code your very first program in Python – a powerful but simple programming language used by app developers and data scientists.\",\n \"source\": \"Udemy\",\n \"active\": true\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/courses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"course_title\": \"Computer Science 101\",\n \"course_description\": \"This Professional Certificate will start you at the absolute beginning teaching you about the fundamental binary language of modern computers. You’ll learn about the Turing Machine—a model for the digital computer. You’ll also learn the basics of analytic logic and how learning and applying basic principles of logic can help you both work with and work on technical solutions. You’ll work in a managed environment and learn to code your very first program in Python – a powerful but simple programming language used by app developers and data scientists.\",\n \"source\": \"Udemy\",\n \"active\": true\n}")
.asString();
require 'uri'
require 'net/http'

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

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 \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"course_title\": \"Computer Science 101\",\n \"course_description\": \"This Professional Certificate will start you at the absolute beginning teaching you about the fundamental binary language of modern computers. You’ll learn about the Turing Machine—a model for the digital computer. You’ll also learn the basics of analytic logic and how learning and applying basic principles of logic can help you both work with and work on technical solutions. You’ll work in a managed environment and learn to code your very first program in Python – a powerful but simple programming language used by app developers and data scientists.\",\n \"source\": \"Udemy\",\n \"active\": true\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": "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

Authorization
string
header
required

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

Query Parameters

language
enum<string>
required

The language of the input data, which has an impact on the Skill extraction. auto will automatically detect the language used in the provided data.

Available options:
auto,
nl,
fr,
en,
de
Example:

"en"

strict
boolean
default:false

If strict is enabled, entity creation will fail when a Skill Profile cannot be constructed. If strict is set to false, failed Skill Profile creation will still result in entity creation, but the Skill Profile will be empty.

Body

application/json

Default structure for Course data.

external_id
string<uuid>
required

The unique ID in your system, consisting of alphanumeric characters, hyphens and underscores.

Required string length: 1 - 100
Pattern: [a-zA-Z0-9_-]+
Example:

"a3903505-eb84-42dc-a79f-5e7b1fe897b7"

course_title
string
required

Title of the Course.

Required string length: 1 - 255
Example:

"Computer Science 101"

course_description
string
required

Textual description of the Course.

Minimum string length: 1
Example:

"This Professional Certificate will start you at the absolute beginning teaching you about the fundamental binary language of modern computers. You’ll learn about the Turing Machine—a model for the digital computer. You’ll also learn the basics of analytic logic and how learning and applying basic principles of logic can help you both work with and work on technical solutions. You’ll work in a managed environment and learn to code your very first program in Python – a powerful but simple programming language used by app developers and data scientists."

source
string

Source system or location of this Course.

Required string length: 1 - 255
Example:

"Udemy"

active
boolean | null
default:true

The Course will not be used in matching if active is false. This is useful when a Course is being phased out.

Example:

true

Response

No Content