Update employment job
curl --request PATCH \
--url https://api.kombo.dev/v1/hris/employments/{employment_id}/form/job \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Integration-Id: <x-integration-id>' \
--data '
{
"properties": {
"effectiveDate": "2026-11-01",
"jobTitle": "Head Nurse"
}
}
'import requests
url = "https://api.kombo.dev/v1/hris/employments/{employment_id}/form/job"
payload = { "properties": {
"effectiveDate": "2026-11-01",
"jobTitle": "Head Nurse"
} }
headers = {
"X-Integration-Id": "<x-integration-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Integration-Id': '<x-integration-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({properties: {effectiveDate: '2026-11-01', jobTitle: 'Head Nurse'}})
};
fetch('https://api.kombo.dev/v1/hris/employments/{employment_id}/form/job', 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.kombo.dev/v1/hris/employments/{employment_id}/form/job",
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([
'properties' => [
'effectiveDate' => '2026-11-01',
'jobTitle' => 'Head Nurse'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Integration-Id: <x-integration-id>"
],
]);
$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.kombo.dev/v1/hris/employments/{employment_id}/form/job"
payload := strings.NewReader("{\n \"properties\": {\n \"effectiveDate\": \"2026-11-01\",\n \"jobTitle\": \"Head Nurse\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Integration-Id", "<x-integration-id>")
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.kombo.dev/v1/hris/employments/{employment_id}/form/job")
.header("X-Integration-Id", "<x-integration-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"properties\": {\n \"effectiveDate\": \"2026-11-01\",\n \"jobTitle\": \"Head Nurse\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kombo.dev/v1/hris/employments/{employment_id}/form/job")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Integration-Id"] = '<x-integration-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"properties\": {\n \"effectiveDate\": \"2026-11-01\",\n \"jobTitle\": \"Head Nurse\"\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"id": "8xQvTmLpRbWcNdKsYfHjGaZe",
"remote_id": "67890"
}
}
Update employment
Update employment job
Update an employment’s job using values from the job form.
PATCH
/
hris
/
employments
/
{employment_id}
/
form
/
job
Update employment job
curl --request PATCH \
--url https://api.kombo.dev/v1/hris/employments/{employment_id}/form/job \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Integration-Id: <x-integration-id>' \
--data '
{
"properties": {
"effectiveDate": "2026-11-01",
"jobTitle": "Head Nurse"
}
}
'import requests
url = "https://api.kombo.dev/v1/hris/employments/{employment_id}/form/job"
payload = { "properties": {
"effectiveDate": "2026-11-01",
"jobTitle": "Head Nurse"
} }
headers = {
"X-Integration-Id": "<x-integration-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Integration-Id': '<x-integration-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({properties: {effectiveDate: '2026-11-01', jobTitle: 'Head Nurse'}})
};
fetch('https://api.kombo.dev/v1/hris/employments/{employment_id}/form/job', 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.kombo.dev/v1/hris/employments/{employment_id}/form/job",
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([
'properties' => [
'effectiveDate' => '2026-11-01',
'jobTitle' => 'Head Nurse'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Integration-Id: <x-integration-id>"
],
]);
$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.kombo.dev/v1/hris/employments/{employment_id}/form/job"
payload := strings.NewReader("{\n \"properties\": {\n \"effectiveDate\": \"2026-11-01\",\n \"jobTitle\": \"Head Nurse\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Integration-Id", "<x-integration-id>")
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.kombo.dev/v1/hris/employments/{employment_id}/form/job")
.header("X-Integration-Id", "<x-integration-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"properties\": {\n \"effectiveDate\": \"2026-11-01\",\n \"jobTitle\": \"Head Nurse\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kombo.dev/v1/hris/employments/{employment_id}/form/job")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Integration-Id"] = '<x-integration-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"properties\": {\n \"effectiveDate\": \"2026-11-01\",\n \"jobTitle\": \"Head Nurse\"\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"id": "8xQvTmLpRbWcNdKsYfHjGaZe",
"remote_id": "67890"
}
}
Closed Beta Feature: This endpoint is now in closed beta. Please reach out to your account manager or support.
null clears a value.
This endpoint requires the permission Create and manage employees to be enabled in your scope config.
Example Request Body
{
"properties": {
"effectiveDate": "2026-11-01",
"jobTitle": "Head Nurse"
}
}
Authorizations
Headers
ID of the integration you want to interact with.
Path Parameters
The Kombo ID or the HRIS ID of the employment. Find it in employments on the employee, or with Get employments.
Example:
"remote:67890"
Body
application/json
PATCH /hris/employments/:employment_id/form/job Request body
Use the field keys returned by GET. Include required fields and any fields you want to change. Omitted fields stay unchanged; null clears a value.
Show child attributes
Show child attributes
Was this page helpful?