Update employment compensation
curl --request PATCH \
--url https://api.kombo.dev/v1/hris/employments/{employment_id}/form/compensation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Integration-Id: <x-integration-id>' \
--data '
{
"properties": {
"effectiveDate": "2026-11-01",
"amount": 75000,
"reason": "4wPdBNLfMYBeXjNiQ5zKbStR"
}
}
'import requests
url = "https://api.kombo.dev/v1/hris/employments/{employment_id}/form/compensation"
payload = { "properties": {
"effectiveDate": "2026-11-01",
"amount": 75000,
"reason": "4wPdBNLfMYBeXjNiQ5zKbStR"
} }
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', amount: 75000, reason: '4wPdBNLfMYBeXjNiQ5zKbStR'}
})
};
fetch('https://api.kombo.dev/v1/hris/employments/{employment_id}/form/compensation', 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/compensation",
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',
'amount' => 75000,
'reason' => '4wPdBNLfMYBeXjNiQ5zKbStR'
]
]),
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/compensation"
payload := strings.NewReader("{\n \"properties\": {\n \"effectiveDate\": \"2026-11-01\",\n \"amount\": 75000,\n \"reason\": \"4wPdBNLfMYBeXjNiQ5zKbStR\"\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/compensation")
.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 \"amount\": 75000,\n \"reason\": \"4wPdBNLfMYBeXjNiQ5zKbStR\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kombo.dev/v1/hris/employments/{employment_id}/form/compensation")
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 \"amount\": 75000,\n \"reason\": \"4wPdBNLfMYBeXjNiQ5zKbStR\"\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"id": "8xQvTmLpRbWcNdKsYfHjGaZe",
"remote_id": "67890"
}
}Update employment
Update employment compensation
Update an employment’s compensation using values from the compensation form.
PATCH
/
hris
/
employments
/
{employment_id}
/
form
/
compensation
Update employment compensation
curl --request PATCH \
--url https://api.kombo.dev/v1/hris/employments/{employment_id}/form/compensation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Integration-Id: <x-integration-id>' \
--data '
{
"properties": {
"effectiveDate": "2026-11-01",
"amount": 75000,
"reason": "4wPdBNLfMYBeXjNiQ5zKbStR"
}
}
'import requests
url = "https://api.kombo.dev/v1/hris/employments/{employment_id}/form/compensation"
payload = { "properties": {
"effectiveDate": "2026-11-01",
"amount": 75000,
"reason": "4wPdBNLfMYBeXjNiQ5zKbStR"
} }
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', amount: 75000, reason: '4wPdBNLfMYBeXjNiQ5zKbStR'}
})
};
fetch('https://api.kombo.dev/v1/hris/employments/{employment_id}/form/compensation', 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/compensation",
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',
'amount' => 75000,
'reason' => '4wPdBNLfMYBeXjNiQ5zKbStR'
]
]),
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/compensation"
payload := strings.NewReader("{\n \"properties\": {\n \"effectiveDate\": \"2026-11-01\",\n \"amount\": 75000,\n \"reason\": \"4wPdBNLfMYBeXjNiQ5zKbStR\"\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/compensation")
.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 \"amount\": 75000,\n \"reason\": \"4wPdBNLfMYBeXjNiQ5zKbStR\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kombo.dev/v1/hris/employments/{employment_id}/form/compensation")
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 \"amount\": 75000,\n \"reason\": \"4wPdBNLfMYBeXjNiQ5zKbStR\"\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",
"amount": 75000,
"reason": "4wPdBNLfMYBeXjNiQ5zKbStR"
}
}
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/compensation 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?