Bulk generate Job changes
curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/job_architecture/changes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"change_type": "add_job_description",
"context": {
"instructions": "Please use inclusive language and highlight remote work opportunities",
"reference_job_ids": [
"5cbdbdbe-5f44-4423-8157-5fgqsef7b834c",
"62d2c013-ab77-410e-b5fb-2f96eed9c1db"
],
"sections_to_include": [
"Summary",
"Responsibilities"
],
"use_internal_job_data": true
},
"job_ids": [
"a3903505-eb84-42dc-a79f-5e7b1fe897b7"
]
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/job_architecture/changes"
payload = {
"change_type": "add_job_description",
"context": {
"instructions": "Please use inclusive language and highlight remote work opportunities",
"reference_job_ids": ["5cbdbdbe-5f44-4423-8157-5fgqsef7b834c", "62d2c013-ab77-410e-b5fb-2f96eed9c1db"],
"sections_to_include": ["Summary", "Responsibilities"],
"use_internal_job_data": True
},
"job_ids": ["a3903505-eb84-42dc-a79f-5e7b1fe897b7"]
}
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({
change_type: 'add_job_description',
context: {
instructions: 'Please use inclusive language and highlight remote work opportunities',
reference_job_ids: [
'5cbdbdbe-5f44-4423-8157-5fgqsef7b834c',
'62d2c013-ab77-410e-b5fb-2f96eed9c1db'
],
sections_to_include: ['Summary', 'Responsibilities'],
use_internal_job_data: true
},
job_ids: ['a3903505-eb84-42dc-a79f-5e7b1fe897b7']
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/job_architecture/changes', 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/job_architecture/changes",
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([
'change_type' => 'add_job_description',
'context' => [
'instructions' => 'Please use inclusive language and highlight remote work opportunities',
'reference_job_ids' => [
'5cbdbdbe-5f44-4423-8157-5fgqsef7b834c',
'62d2c013-ab77-410e-b5fb-2f96eed9c1db'
],
'sections_to_include' => [
'Summary',
'Responsibilities'
],
'use_internal_job_data' => true
],
'job_ids' => [
'a3903505-eb84-42dc-a79f-5e7b1fe897b7'
]
]),
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/job_architecture/changes"
payload := strings.NewReader("{\n \"change_type\": \"add_job_description\",\n \"context\": {\n \"instructions\": \"Please use inclusive language and highlight remote work opportunities\",\n \"reference_job_ids\": [\n \"5cbdbdbe-5f44-4423-8157-5fgqsef7b834c\",\n \"62d2c013-ab77-410e-b5fb-2f96eed9c1db\"\n ],\n \"sections_to_include\": [\n \"Summary\",\n \"Responsibilities\"\n ],\n \"use_internal_job_data\": true\n },\n \"job_ids\": [\n \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\"\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/job_architecture/changes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"change_type\": \"add_job_description\",\n \"context\": {\n \"instructions\": \"Please use inclusive language and highlight remote work opportunities\",\n \"reference_job_ids\": [\n \"5cbdbdbe-5f44-4423-8157-5fgqsef7b834c\",\n \"62d2c013-ab77-410e-b5fb-2f96eed9c1db\"\n ],\n \"sections_to_include\": [\n \"Summary\",\n \"Responsibilities\"\n ],\n \"use_internal_job_data\": true\n },\n \"job_ids\": [\n \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/job_architecture/changes")
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 \"change_type\": \"add_job_description\",\n \"context\": {\n \"instructions\": \"Please use inclusive language and highlight remote work opportunities\",\n \"reference_job_ids\": [\n \"5cbdbdbe-5f44-4423-8157-5fgqsef7b834c\",\n \"62d2c013-ab77-410e-b5fb-2f96eed9c1db\"\n ],\n \"sections_to_include\": [\n \"Summary\",\n \"Responsibilities\"\n ],\n \"use_internal_job_data\": true\n },\n \"job_ids\": [\n \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"batch_id": "01JZ54E33R9F4154Z8WCTYVSHT"
}[
{
"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."
}
]"max connections reached: <limit>"[
{
"title": "503 Service Unavailable",
"description": "The Skill Engine API is currently not available. Please contact TechWolf or try again later."
}
]Changes
Bulk generate Job changes
Start a batch generation of Job changes for specified Jobs.
Bulk generate Job changes
curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/job_architecture/changes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"change_type": "add_job_description",
"context": {
"instructions": "Please use inclusive language and highlight remote work opportunities",
"reference_job_ids": [
"5cbdbdbe-5f44-4423-8157-5fgqsef7b834c",
"62d2c013-ab77-410e-b5fb-2f96eed9c1db"
],
"sections_to_include": [
"Summary",
"Responsibilities"
],
"use_internal_job_data": true
},
"job_ids": [
"a3903505-eb84-42dc-a79f-5e7b1fe897b7"
]
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/job_architecture/changes"
payload = {
"change_type": "add_job_description",
"context": {
"instructions": "Please use inclusive language and highlight remote work opportunities",
"reference_job_ids": ["5cbdbdbe-5f44-4423-8157-5fgqsef7b834c", "62d2c013-ab77-410e-b5fb-2f96eed9c1db"],
"sections_to_include": ["Summary", "Responsibilities"],
"use_internal_job_data": True
},
"job_ids": ["a3903505-eb84-42dc-a79f-5e7b1fe897b7"]
}
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({
change_type: 'add_job_description',
context: {
instructions: 'Please use inclusive language and highlight remote work opportunities',
reference_job_ids: [
'5cbdbdbe-5f44-4423-8157-5fgqsef7b834c',
'62d2c013-ab77-410e-b5fb-2f96eed9c1db'
],
sections_to_include: ['Summary', 'Responsibilities'],
use_internal_job_data: true
},
job_ids: ['a3903505-eb84-42dc-a79f-5e7b1fe897b7']
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/job_architecture/changes', 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/job_architecture/changes",
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([
'change_type' => 'add_job_description',
'context' => [
'instructions' => 'Please use inclusive language and highlight remote work opportunities',
'reference_job_ids' => [
'5cbdbdbe-5f44-4423-8157-5fgqsef7b834c',
'62d2c013-ab77-410e-b5fb-2f96eed9c1db'
],
'sections_to_include' => [
'Summary',
'Responsibilities'
],
'use_internal_job_data' => true
],
'job_ids' => [
'a3903505-eb84-42dc-a79f-5e7b1fe897b7'
]
]),
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/job_architecture/changes"
payload := strings.NewReader("{\n \"change_type\": \"add_job_description\",\n \"context\": {\n \"instructions\": \"Please use inclusive language and highlight remote work opportunities\",\n \"reference_job_ids\": [\n \"5cbdbdbe-5f44-4423-8157-5fgqsef7b834c\",\n \"62d2c013-ab77-410e-b5fb-2f96eed9c1db\"\n ],\n \"sections_to_include\": [\n \"Summary\",\n \"Responsibilities\"\n ],\n \"use_internal_job_data\": true\n },\n \"job_ids\": [\n \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\"\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/job_architecture/changes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"change_type\": \"add_job_description\",\n \"context\": {\n \"instructions\": \"Please use inclusive language and highlight remote work opportunities\",\n \"reference_job_ids\": [\n \"5cbdbdbe-5f44-4423-8157-5fgqsef7b834c\",\n \"62d2c013-ab77-410e-b5fb-2f96eed9c1db\"\n ],\n \"sections_to_include\": [\n \"Summary\",\n \"Responsibilities\"\n ],\n \"use_internal_job_data\": true\n },\n \"job_ids\": [\n \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/job_architecture/changes")
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 \"change_type\": \"add_job_description\",\n \"context\": {\n \"instructions\": \"Please use inclusive language and highlight remote work opportunities\",\n \"reference_job_ids\": [\n \"5cbdbdbe-5f44-4423-8157-5fgqsef7b834c\",\n \"62d2c013-ab77-410e-b5fb-2f96eed9c1db\"\n ],\n \"sections_to_include\": [\n \"Summary\",\n \"Responsibilities\"\n ],\n \"use_internal_job_data\": true\n },\n \"job_ids\": [\n \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"batch_id": "01JZ54E33R9F4154Z8WCTYVSHT"
}[
{
"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."
}
]"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.
Body
application/json
Type of change made to a Job.
Available options:
add_job_description Example:
"add_job_description"
Additional context information for Job changes
Show child attributes
Show child attributes
List of Job external IDs to create changes for
The unique ID in your system, consisting of alphanumeric characters, hyphens and underscores.
Required string length:
1 - 100Pattern:
[a-zA-Z0-9_-]+Response
Accepted
Unique identifier for the batch of created Job changes
Example:
"01JZ54E33R9F4154Z8WCTYVSHT"
Was this page helpful?
⌘I