Update Skill
curl --request PATCH \
--url https://api.mokaru.ai/v1/skills/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"category": "<string>",
"level": "<string>",
"score": 123,
"isVisible": true,
"displayOrder": 123
}
'import requests
url = "https://api.mokaru.ai/v1/skills/{id}"
payload = {
"name": "<string>",
"category": "<string>",
"level": "<string>",
"score": 123,
"isVisible": True,
"displayOrder": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
category: '<string>',
level: '<string>',
score: 123,
isVisible: true,
displayOrder: 123
})
};
fetch('https://api.mokaru.ai/v1/skills/{id}', 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://api.mokaru.ai/v1/skills/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'category' => '<string>',
'level' => '<string>',
'score' => 123,
'isVisible' => true,
'displayOrder' => 123
]),
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://api.mokaru.ai/v1/skills/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"category\": \"<string>\",\n \"level\": \"<string>\",\n \"score\": 123,\n \"isVisible\": true,\n \"displayOrder\": 123\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.mokaru.ai/v1/skills/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"category\": \"<string>\",\n \"level\": \"<string>\",\n \"score\": 123,\n \"isVisible\": true,\n \"displayOrder\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mokaru.ai/v1/skills/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"category\": \"<string>\",\n \"level\": \"<string>\",\n \"score\": 123,\n \"isVisible\": true,\n \"displayOrder\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"id": "<string>"
}Skills
Update Skill
Update a skill
PATCH
/
v1
/
skills
/
{id}
Update Skill
curl --request PATCH \
--url https://api.mokaru.ai/v1/skills/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"category": "<string>",
"level": "<string>",
"score": 123,
"isVisible": true,
"displayOrder": 123
}
'import requests
url = "https://api.mokaru.ai/v1/skills/{id}"
payload = {
"name": "<string>",
"category": "<string>",
"level": "<string>",
"score": 123,
"isVisible": True,
"displayOrder": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
category: '<string>',
level: '<string>',
score: 123,
isVisible: true,
displayOrder: 123
})
};
fetch('https://api.mokaru.ai/v1/skills/{id}', 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://api.mokaru.ai/v1/skills/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'category' => '<string>',
'level' => '<string>',
'score' => 123,
'isVisible' => true,
'displayOrder' => 123
]),
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://api.mokaru.ai/v1/skills/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"category\": \"<string>\",\n \"level\": \"<string>\",\n \"score\": 123,\n \"isVisible\": true,\n \"displayOrder\": 123\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.mokaru.ai/v1/skills/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"category\": \"<string>\",\n \"level\": \"<string>\",\n \"score\": 123,\n \"isVisible\": true,\n \"displayOrder\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mokaru.ai/v1/skills/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"category\": \"<string>\",\n \"level\": \"<string>\",\n \"score\": 123,\n \"isVisible\": true,\n \"displayOrder\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"id": "<string>"
}Overview
The Update Skill endpoint lets you modify an existing skill’s details. Only include the fields you want to change. Passnull for optional fields to clear them.
Scope required:
skills:write | Rate limit: 20 requests/minRequest
PATCH /v1/skills/{id}
Path Parameters
string
required
The skill’s unique ID
Body Parameters
All fields are optional, but at least one must be provided.string
Skill name (max 200 characters)
string
Skill category. One of: TECHNICAL, SOFT, or LANGUAGE
string
Free-text level label, e.g. “Expert”, “Intermediate”. (max 50 characters) (nullable)
number
Numeric proficiency 1-5. (nullable)
boolean
Visibility flag on the skill itself - false hides the skill outright. To hide it on just one resume, use hiddenItems on that resume instead.
number
Sort order of the skill
Query Parameters
string
Target a specific resume by its id (from
list-resumes). Omit to use your base/default resume; the resume must be self-contained.Example
curl -X PATCH "https://api.mokaru.ai/v1/skills/clx1234" \
-H "Authorization: Bearer mk_your_key" \
-H "Content-Type: application/json" \
-d '{
"level": "expert",
"category": "Programming Languages"
}'
Response
boolean
Whether the skill was updated
string
The skill’s ID
{
"success": true,
"id": "clx1234..."
}
Was this page helpful?
⌘I
