Update Experience
curl --request PATCH \
--url https://api.mokaru.ai/v1/experiences/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"jobTitle": "<string>",
"company": "<string>",
"location": "<string>",
"startDate": "<string>",
"endDate": "<string>",
"isCurrent": true,
"description": "<string>",
"responsibilities": [
"<string>"
],
"achievements": [
"<string>"
]
}
'import requests
url = "https://api.mokaru.ai/v1/experiences/{id}"
payload = {
"jobTitle": "<string>",
"company": "<string>",
"location": "<string>",
"startDate": "<string>",
"endDate": "<string>",
"isCurrent": True,
"description": "<string>",
"responsibilities": ["<string>"],
"achievements": ["<string>"]
}
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({
jobTitle: '<string>',
company: '<string>',
location: '<string>',
startDate: '<string>',
endDate: '<string>',
isCurrent: true,
description: '<string>',
responsibilities: ['<string>'],
achievements: ['<string>']
})
};
fetch('https://api.mokaru.ai/v1/experiences/{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/experiences/{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([
'jobTitle' => '<string>',
'company' => '<string>',
'location' => '<string>',
'startDate' => '<string>',
'endDate' => '<string>',
'isCurrent' => true,
'description' => '<string>',
'responsibilities' => [
'<string>'
],
'achievements' => [
'<string>'
]
]),
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/experiences/{id}"
payload := strings.NewReader("{\n \"jobTitle\": \"<string>\",\n \"company\": \"<string>\",\n \"location\": \"<string>\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"isCurrent\": true,\n \"description\": \"<string>\",\n \"responsibilities\": [\n \"<string>\"\n ],\n \"achievements\": [\n \"<string>\"\n ]\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/experiences/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"jobTitle\": \"<string>\",\n \"company\": \"<string>\",\n \"location\": \"<string>\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"isCurrent\": true,\n \"description\": \"<string>\",\n \"responsibilities\": [\n \"<string>\"\n ],\n \"achievements\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mokaru.ai/v1/experiences/{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 \"jobTitle\": \"<string>\",\n \"company\": \"<string>\",\n \"location\": \"<string>\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"isCurrent\": true,\n \"description\": \"<string>\",\n \"responsibilities\": [\n \"<string>\"\n ],\n \"achievements\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"id": "<string>"
}Experiences
Update Experience
Update a work experience
PATCH
/
v1
/
experiences
/
{id}
Update Experience
curl --request PATCH \
--url https://api.mokaru.ai/v1/experiences/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"jobTitle": "<string>",
"company": "<string>",
"location": "<string>",
"startDate": "<string>",
"endDate": "<string>",
"isCurrent": true,
"description": "<string>",
"responsibilities": [
"<string>"
],
"achievements": [
"<string>"
]
}
'import requests
url = "https://api.mokaru.ai/v1/experiences/{id}"
payload = {
"jobTitle": "<string>",
"company": "<string>",
"location": "<string>",
"startDate": "<string>",
"endDate": "<string>",
"isCurrent": True,
"description": "<string>",
"responsibilities": ["<string>"],
"achievements": ["<string>"]
}
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({
jobTitle: '<string>',
company: '<string>',
location: '<string>',
startDate: '<string>',
endDate: '<string>',
isCurrent: true,
description: '<string>',
responsibilities: ['<string>'],
achievements: ['<string>']
})
};
fetch('https://api.mokaru.ai/v1/experiences/{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/experiences/{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([
'jobTitle' => '<string>',
'company' => '<string>',
'location' => '<string>',
'startDate' => '<string>',
'endDate' => '<string>',
'isCurrent' => true,
'description' => '<string>',
'responsibilities' => [
'<string>'
],
'achievements' => [
'<string>'
]
]),
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/experiences/{id}"
payload := strings.NewReader("{\n \"jobTitle\": \"<string>\",\n \"company\": \"<string>\",\n \"location\": \"<string>\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"isCurrent\": true,\n \"description\": \"<string>\",\n \"responsibilities\": [\n \"<string>\"\n ],\n \"achievements\": [\n \"<string>\"\n ]\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/experiences/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"jobTitle\": \"<string>\",\n \"company\": \"<string>\",\n \"location\": \"<string>\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"isCurrent\": true,\n \"description\": \"<string>\",\n \"responsibilities\": [\n \"<string>\"\n ],\n \"achievements\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mokaru.ai/v1/experiences/{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 \"jobTitle\": \"<string>\",\n \"company\": \"<string>\",\n \"location\": \"<string>\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"isCurrent\": true,\n \"description\": \"<string>\",\n \"responsibilities\": [\n \"<string>\"\n ],\n \"achievements\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"id": "<string>"
}Overview
The Update Experience endpoint lets you modify an existing work experience’s details. Only include the fields you want to change. Passnull for optional fields to clear them.
Scope required:
experiences:write | Rate limit: 20 requests/minRequest
PATCH /v1/experiences/{id}
Path Parameters
string
required
The experience’s unique ID
Body Parameters
All fields are optional, but at least one must be provided.string
Job title (max 200 characters)
string
Company name (max 200 characters)
string
Work location (max 200 characters) (nullable)
string
ISO 8601 datetime (nullable)
string
ISO 8601 datetime (nullable)
boolean
Whether this is the current position (nullable)
string
Role description (nullable)
string[]
List of responsibilities (nullable)
string[]
List of achievements (nullable)
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/experiences/clx1234" \
-H "Authorization: Bearer mk_your_key" \
-H "Content-Type: application/json" \
-d '{
"isCurrent": false,
"endDate": "2026-03-15",
"achievements": ["Reduced bundle size by 40%", "Shipped design system v2"]
}'
Response
boolean
Whether the experience was updated
string
The experience’s ID
{
"success": true,
"id": "clx1234..."
}
Was this page helpful?
⌘I
