curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/vacation_pay_settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"work_assignment_id": "<id>",
"effective_from": "2026-01-01",
"percentage": 4,
"vacation_pay_method": "manual",
"business_preset_id": "<id>",
"note": "Vacation Pay",
"overrides": [
{
"type": "earning",
"subtype": "commission",
"percentage": 3,
"method": "per_period"
}
]
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/vacation_pay_settings"
payload = {
"work_assignment_id": "<id>",
"effective_from": "2026-01-01",
"percentage": 4,
"vacation_pay_method": "manual",
"business_preset_id": "<id>",
"note": "Vacation Pay",
"overrides": [
{
"type": "earning",
"subtype": "commission",
"percentage": 3,
"method": "per_period"
}
]
}
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({
work_assignment_id: '<id>',
effective_from: '2026-01-01',
percentage: 4,
vacation_pay_method: 'manual',
business_preset_id: '<id>',
note: 'Vacation Pay',
overrides: [{type: 'earning', subtype: 'commission', percentage: 3, method: 'per_period'}]
})
};
fetch('https://sandbox.nmbr.co/services/payroll/vacation_pay_settings', 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://sandbox.nmbr.co/services/payroll/vacation_pay_settings",
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([
'work_assignment_id' => '<id>',
'effective_from' => '2026-01-01',
'percentage' => 4,
'vacation_pay_method' => 'manual',
'business_preset_id' => '<id>',
'note' => 'Vacation Pay',
'overrides' => [
[
'type' => 'earning',
'subtype' => 'commission',
'percentage' => 3,
'method' => 'per_period'
]
]
]),
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://sandbox.nmbr.co/services/payroll/vacation_pay_settings"
payload := strings.NewReader("{\n \"work_assignment_id\": \"<id>\",\n \"effective_from\": \"2026-01-01\",\n \"percentage\": 4,\n \"vacation_pay_method\": \"manual\",\n \"business_preset_id\": \"<id>\",\n \"note\": \"Vacation Pay\",\n \"overrides\": [\n {\n \"type\": \"earning\",\n \"subtype\": \"commission\",\n \"percentage\": 3,\n \"method\": \"per_period\"\n }\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://sandbox.nmbr.co/services/payroll/vacation_pay_settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"work_assignment_id\": \"<id>\",\n \"effective_from\": \"2026-01-01\",\n \"percentage\": 4,\n \"vacation_pay_method\": \"manual\",\n \"business_preset_id\": \"<id>\",\n \"note\": \"Vacation Pay\",\n \"overrides\": [\n {\n \"type\": \"earning\",\n \"subtype\": \"commission\",\n \"percentage\": 3,\n \"method\": \"per_period\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/vacation_pay_settings")
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 \"work_assignment_id\": \"<id>\",\n \"effective_from\": \"2026-01-01\",\n \"percentage\": 4,\n \"vacation_pay_method\": \"manual\",\n \"business_preset_id\": \"<id>\",\n \"note\": \"Vacation Pay\",\n \"overrides\": [\n {\n \"type\": \"earning\",\n \"subtype\": \"commission\",\n \"percentage\": 3,\n \"method\": \"per_period\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "vacation_pay_setting",
"data": {
"percentage": 4,
"vacation_pay_method": "manual",
"effective_from": "2026-01-01",
"effective_to": null,
"earliest_valid_effective_to": "2026-01-01",
"is_editable": true,
"is_deletable": true,
"work_assignment": {
"id": "<id>",
"object": "work_assignment",
"links": {
"self": "/work_assignments/<id>"
}
},
"business_preset": {
"id": "<id>",
"object": "business_preset",
"links": {
"self": "/business_presets/<id>"
}
},
"note": "Vacation Pay",
"overrides": [
{
"type": "earning",
"subtype": "commission",
"percentage": "3",
"method": "per_period"
}
],
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/vacation_pay_settings/<id>"
}
}Create a vacation pay setting
curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/vacation_pay_settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"work_assignment_id": "<id>",
"effective_from": "2026-01-01",
"percentage": 4,
"vacation_pay_method": "manual",
"business_preset_id": "<id>",
"note": "Vacation Pay",
"overrides": [
{
"type": "earning",
"subtype": "commission",
"percentage": 3,
"method": "per_period"
}
]
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/vacation_pay_settings"
payload = {
"work_assignment_id": "<id>",
"effective_from": "2026-01-01",
"percentage": 4,
"vacation_pay_method": "manual",
"business_preset_id": "<id>",
"note": "Vacation Pay",
"overrides": [
{
"type": "earning",
"subtype": "commission",
"percentage": 3,
"method": "per_period"
}
]
}
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({
work_assignment_id: '<id>',
effective_from: '2026-01-01',
percentage: 4,
vacation_pay_method: 'manual',
business_preset_id: '<id>',
note: 'Vacation Pay',
overrides: [{type: 'earning', subtype: 'commission', percentage: 3, method: 'per_period'}]
})
};
fetch('https://sandbox.nmbr.co/services/payroll/vacation_pay_settings', 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://sandbox.nmbr.co/services/payroll/vacation_pay_settings",
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([
'work_assignment_id' => '<id>',
'effective_from' => '2026-01-01',
'percentage' => 4,
'vacation_pay_method' => 'manual',
'business_preset_id' => '<id>',
'note' => 'Vacation Pay',
'overrides' => [
[
'type' => 'earning',
'subtype' => 'commission',
'percentage' => 3,
'method' => 'per_period'
]
]
]),
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://sandbox.nmbr.co/services/payroll/vacation_pay_settings"
payload := strings.NewReader("{\n \"work_assignment_id\": \"<id>\",\n \"effective_from\": \"2026-01-01\",\n \"percentage\": 4,\n \"vacation_pay_method\": \"manual\",\n \"business_preset_id\": \"<id>\",\n \"note\": \"Vacation Pay\",\n \"overrides\": [\n {\n \"type\": \"earning\",\n \"subtype\": \"commission\",\n \"percentage\": 3,\n \"method\": \"per_period\"\n }\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://sandbox.nmbr.co/services/payroll/vacation_pay_settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"work_assignment_id\": \"<id>\",\n \"effective_from\": \"2026-01-01\",\n \"percentage\": 4,\n \"vacation_pay_method\": \"manual\",\n \"business_preset_id\": \"<id>\",\n \"note\": \"Vacation Pay\",\n \"overrides\": [\n {\n \"type\": \"earning\",\n \"subtype\": \"commission\",\n \"percentage\": 3,\n \"method\": \"per_period\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/vacation_pay_settings")
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 \"work_assignment_id\": \"<id>\",\n \"effective_from\": \"2026-01-01\",\n \"percentage\": 4,\n \"vacation_pay_method\": \"manual\",\n \"business_preset_id\": \"<id>\",\n \"note\": \"Vacation Pay\",\n \"overrides\": [\n {\n \"type\": \"earning\",\n \"subtype\": \"commission\",\n \"percentage\": 3,\n \"method\": \"per_period\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "vacation_pay_setting",
"data": {
"percentage": 4,
"vacation_pay_method": "manual",
"effective_from": "2026-01-01",
"effective_to": null,
"earliest_valid_effective_to": "2026-01-01",
"is_editable": true,
"is_deletable": true,
"work_assignment": {
"id": "<id>",
"object": "work_assignment",
"links": {
"self": "/work_assignments/<id>"
}
},
"business_preset": {
"id": "<id>",
"object": "business_preset",
"links": {
"self": "/business_presets/<id>"
}
},
"note": "Vacation Pay",
"overrides": [
{
"type": "earning",
"subtype": "commission",
"percentage": "3",
"method": "per_period"
}
],
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/vacation_pay_settings/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
0 <= x <= 100manual, per_period The Business Preset to create the vacation payout line item from. Must be an earning preset under the work assignment's business entity, carrying either no subtype or the vacation_pay subtype. Omit it, or send null, to create the payout without a preset. A preset named here cannot be deleted while the setting still refers to it.
Response
Created
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("vacation_pay_setting").
Hide child attributes
Hide child attributes
manual, per_period When false, only the effective_to, business_preset_id, and note attributes may be updated.
The Business Preset the generated vacation payout line item is created from. The payout carries the preset's title and accounting codes, and accounting code rules that target the preset apply to it. When the preset sets no title, the payout keeps its default "Vacation Pay Out" title. null when the setting names no preset.
The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.

