Skip to main content
POST
/
talent-training
/
api
/
v1
/
trainings
Create a training
curl --request POST \
  --url https://{host}/talent-training/api/v1/trainings \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data @- <<EOF
{
  "title": "Mastering French: From Basics to Fluency",
  "subtitle": "A Complete Training Program to Speak, Read, and Write with Confidence",
  "description": "Unlock the beauty of the French language with this immersive training designed for learners at all levels. Whether you're a complete beginner or looking to refine your skills, this course covers essential grammar, vocabulary, pronunciation, and real-world conversation practice. Through interactive lessons, cultural insights, and practical exercises, you'll gain the tools and confidence to use French in everyday and professional settings.",
  "providerId": 12,
  "level": "Beginner",
  "isCertifying": false,
  "isMandatory": false,
  "categoryId": 2
}
EOF
import requests

url = "https://{host}/talent-training/api/v1/trainings"

payload = {
"title": "Mastering French: From Basics to Fluency",
"subtitle": "A Complete Training Program to Speak, Read, and Write with Confidence",
"description": "Unlock the beauty of the French language with this immersive training designed for learners at all levels. Whether you're a complete beginner or looking to refine your skills, this course covers essential grammar, vocabulary, pronunciation, and real-world conversation practice. Through interactive lessons, cultural insights, and practical exercises, you'll gain the tools and confidence to use French in everyday and professional settings.",
"providerId": 12,
"level": "Beginner",
"isCertifying": False,
"isMandatory": False,
"categoryId": 2
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Mastering French: From Basics to Fluency',
subtitle: 'A Complete Training Program to Speak, Read, and Write with Confidence',
description: 'Unlock the beauty of the French language with this immersive training designed for learners at all levels. Whether you\'re a complete beginner or looking to refine your skills, this course covers essential grammar, vocabulary, pronunciation, and real-world conversation practice. Through interactive lessons, cultural insights, and practical exercises, you\'ll gain the tools and confidence to use French in everyday and professional settings.',
providerId: 12,
level: 'Beginner',
isCertifying: false,
isMandatory: false,
categoryId: 2
})
};

fetch('https://{host}/talent-training/api/v1/trainings', 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://{host}/talent-training/api/v1/trainings",
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([
'title' => 'Mastering French: From Basics to Fluency',
'subtitle' => 'A Complete Training Program to Speak, Read, and Write with Confidence',
'description' => 'Unlock the beauty of the French language with this immersive training designed for learners at all levels. Whether you\'re a complete beginner or looking to refine your skills, this course covers essential grammar, vocabulary, pronunciation, and real-world conversation practice. Through interactive lessons, cultural insights, and practical exercises, you\'ll gain the tools and confidence to use French in everyday and professional settings.',
'providerId' => 12,
'level' => 'Beginner',
'isCertifying' => false,
'isMandatory' => false,
'categoryId' => 2
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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://{host}/talent-training/api/v1/trainings"

payload := strings.NewReader("{\n \"title\": \"Mastering French: From Basics to Fluency\",\n \"subtitle\": \"A Complete Training Program to Speak, Read, and Write with Confidence\",\n \"description\": \"Unlock the beauty of the French language with this immersive training designed for learners at all levels. Whether you're a complete beginner or looking to refine your skills, this course covers essential grammar, vocabulary, pronunciation, and real-world conversation practice. Through interactive lessons, cultural insights, and practical exercises, you'll gain the tools and confidence to use French in everyday and professional settings.\",\n \"providerId\": 12,\n \"level\": \"Beginner\",\n \"isCertifying\": false,\n \"isMandatory\": false,\n \"categoryId\": 2\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "<authorization>")
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://{host}/talent-training/api/v1/trainings")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Mastering French: From Basics to Fluency\",\n \"subtitle\": \"A Complete Training Program to Speak, Read, and Write with Confidence\",\n \"description\": \"Unlock the beauty of the French language with this immersive training designed for learners at all levels. Whether you're a complete beginner or looking to refine your skills, this course covers essential grammar, vocabulary, pronunciation, and real-world conversation practice. Through interactive lessons, cultural insights, and practical exercises, you'll gain the tools and confidence to use French in everyday and professional settings.\",\n \"providerId\": 12,\n \"level\": \"Beginner\",\n \"isCertifying\": false,\n \"isMandatory\": false,\n \"categoryId\": 2\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://{host}/talent-training/api/v1/trainings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Mastering French: From Basics to Fluency\",\n \"subtitle\": \"A Complete Training Program to Speak, Read, and Write with Confidence\",\n \"description\": \"Unlock the beauty of the French language with this immersive training designed for learners at all levels. Whether you're a complete beginner or looking to refine your skills, this course covers essential grammar, vocabulary, pronunciation, and real-world conversation practice. Through interactive lessons, cultural insights, and practical exercises, you'll gain the tools and confidence to use French in everyday and professional settings.\",\n \"providerId\": 12,\n \"level\": \"Beginner\",\n \"isCertifying\": false,\n \"isMandatory\": false,\n \"categoryId\": 2\n}"

response = http.request(request)
puts response.read_body
{
  "id": 45,
  "state": "Ready",
  "type": "External",
  "title": "Mastering French: From Basics to Fluency",
  "subtitle": "A Complete Training Program to Speak, Read, and Write with Confidence",
  "description": "Unlock the beauty of the French language with this immersive training designed for learners at all levels. Whether you're a complete beginner or looking to refine your skills, this course covers essential grammar, vocabulary, pronunciation, and real-world conversation practice. Through interactive lessons, cultural insights, and practical exercises, you'll gain the tools and confidence to use French in everyday and professional settings.",
  "provider": {
    "id": 12,
    "name": "L'Élan Français",
    "websiteHref": "https://elan-francais.fr"
  },
  "level": "Beginner",
  "isCertifying": false,
  "isMandatory": false,
  "category": {
    "id": 2,
    "name": "Languages",
    "t9n": {
      "name": {
        "Ff": "Langues",
        "Es": "Idiomas"
      }
    }
  }
}

Headers

Authorization
string
required

API key. Value must be formatted like so: lucca application={api_key}.

Body

application/json

A training is a structured program of study offered by a training provider, focused on teaching specific knowledge or skills.

title
string
required

Name of the training (maximum length = 250 characters)

subtitle
string
required

Short summary of the training (maximum length = 1000 characters)

description
string
required

Detailed description of the training (maximum length = 6000 characters)

level
enum<string>
required
  • Beginner : For finding out about the subject
  • Middle : For deepening your knowledge
  • Expert : For becoming a specialist
Available options:
Beginner,
Middle,
Expert
isCertifying
boolean
required

Is it an accredited training?

isMandatory
boolean
required

Is the training mandatory according to legal requirements?

type
enum<string>

External trainings are managed by external organizations, whereas internal trainings are managed by employees within your company.

Available options:
External,
Internal
state
enum<string>
  • ready: the training object is published and as such can be referenced by a new realized-training.
  • archived: the training object is archived and as such should no longer be referenced in new realized-trainings.
Available options:
Ready,
Archived

Response

201 - application/json

Created

A training is a structured program of study offered by a training provider, focused on teaching specific knowledge or skills.

title
string
required

Name of the training (maximum length = 250 characters)

subtitle
string
required

Short summary of the training (maximum length = 1000 characters)

description
string
required

Detailed description of the training (maximum length = 6000 characters)

level
enum<string>
required
  • Beginner : For finding out about the subject
  • Middle : For deepening your knowledge
  • Expert : For becoming a specialist
Available options:
Beginner,
Middle,
Expert
isCertifying
boolean
required

Is it an accredited training?

isMandatory
boolean
required

Is the training mandatory according to legal requirements?

id
integer<int32>
read-only

Unique identifier of the training

type
enum<string>

External trainings are managed by external organizations, whereas internal trainings are managed by employees within your company.

Available options:
External,
Internal
state
enum<string>
  • ready: the training object is published and as such can be referenced by a new realized-training.
  • archived: the training object is archived and as such should no longer be referenced in new realized-trainings.
Available options:
Ready,
Archived
provider
object
read-only
category
object
read-only