curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/business_presets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"business_entity_id": "<id>",
"type": "earning",
"subtype": "bonus_discretionary",
"name": "Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49",
"title": "Christmas Bonus"
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/business_presets"
payload = {
"business_entity_id": "<id>",
"type": "earning",
"subtype": "bonus_discretionary",
"name": "Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49",
"title": "Christmas Bonus"
}
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({
business_entity_id: '<id>',
type: 'earning',
subtype: 'bonus_discretionary',
name: 'Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49',
title: 'Christmas Bonus'
})
};
fetch('https://sandbox.nmbr.co/services/payroll/business_presets', 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/business_presets",
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([
'business_entity_id' => '<id>',
'type' => 'earning',
'subtype' => 'bonus_discretionary',
'name' => 'Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49',
'title' => 'Christmas Bonus'
]),
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/business_presets"
payload := strings.NewReader("{\n \"business_entity_id\": \"<id>\",\n \"type\": \"earning\",\n \"subtype\": \"bonus_discretionary\",\n \"name\": \"Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49\",\n \"title\": \"Christmas Bonus\"\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/business_presets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"business_entity_id\": \"<id>\",\n \"type\": \"earning\",\n \"subtype\": \"bonus_discretionary\",\n \"name\": \"Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49\",\n \"title\": \"Christmas Bonus\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/business_presets")
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 \"business_entity_id\": \"<id>\",\n \"type\": \"earning\",\n \"subtype\": \"bonus_discretionary\",\n \"name\": \"Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49\",\n \"title\": \"Christmas Bonus\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "business_preset",
"data": {
"business_entity": {
"id": "<id>",
"object": "business_entity",
"links": {
"self": "/business_entities/<id>"
}
},
"name": "Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49",
"name_translations": null,
"name_translated": "Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49",
"title": "Christmas Bonus",
"title_translations": null,
"title_translated": "Christmas Bonus",
"type": "earning",
"subtype": "bonus_discretionary",
"remittance_account": null,
"is_managed": false,
"expense_accounting_code": null,
"liability_accounting_code": null,
"income_basis": null,
"income_includes": [],
"external_ref": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/business_presets/<id>"
}
}Create a business preset
curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/business_presets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"business_entity_id": "<id>",
"type": "earning",
"subtype": "bonus_discretionary",
"name": "Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49",
"title": "Christmas Bonus"
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/business_presets"
payload = {
"business_entity_id": "<id>",
"type": "earning",
"subtype": "bonus_discretionary",
"name": "Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49",
"title": "Christmas Bonus"
}
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({
business_entity_id: '<id>',
type: 'earning',
subtype: 'bonus_discretionary',
name: 'Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49',
title: 'Christmas Bonus'
})
};
fetch('https://sandbox.nmbr.co/services/payroll/business_presets', 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/business_presets",
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([
'business_entity_id' => '<id>',
'type' => 'earning',
'subtype' => 'bonus_discretionary',
'name' => 'Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49',
'title' => 'Christmas Bonus'
]),
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/business_presets"
payload := strings.NewReader("{\n \"business_entity_id\": \"<id>\",\n \"type\": \"earning\",\n \"subtype\": \"bonus_discretionary\",\n \"name\": \"Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49\",\n \"title\": \"Christmas Bonus\"\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/business_presets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"business_entity_id\": \"<id>\",\n \"type\": \"earning\",\n \"subtype\": \"bonus_discretionary\",\n \"name\": \"Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49\",\n \"title\": \"Christmas Bonus\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/business_presets")
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 \"business_entity_id\": \"<id>\",\n \"type\": \"earning\",\n \"subtype\": \"bonus_discretionary\",\n \"name\": \"Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49\",\n \"title\": \"Christmas Bonus\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "business_preset",
"data": {
"business_entity": {
"id": "<id>",
"object": "business_entity",
"links": {
"self": "/business_entities/<id>"
}
},
"name": "Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49",
"name_translations": null,
"name_translated": "Business Preset 08a620c8-1d8a-3f0c-9475-963b2e8a0d49",
"title": "Christmas Bonus",
"title_translations": null,
"title_translated": "Christmas Bonus",
"type": "earning",
"subtype": "bonus_discretionary",
"remittance_account": null,
"is_managed": false,
"expense_accounting_code": null,
"liability_accounting_code": null,
"income_basis": null,
"income_includes": [],
"external_ref": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/business_presets/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
allowance, deduction, earning, employee_benefit, employer_benefit, reimbursement 255bonus_discretionary, bonus_non_discretionary, bonus_non_taxable, commission, commission_periodic, commission_self_employed, death_benefit, gift_cash, gratuity, in_lieu_wages, income_replacement_indemnity_non_taxable, income_replacement_indemnity_taxable, invoice_payment, invoice_sales_tax, leave_bereavement, leave_citizenship, leave_domestic_and_sexual_violence, leave_general, leave_jury_duty, leave_maternity, leave_organ_donor, leave_parental, leave_paternity, leave_personal, leave_sick, leave_sick_discretionary, leave_unpaid, leave_voting, leave_wedding, overtime, parental_top_up_insurable, parental_top_up_non_insurable, pension, retiring_allowance, retiring_allowance_eligible, retroactive_pay, retroactive_pay_increase, salary, salary_continuance, severance_pay, statutory_holiday_pay, supplemental_unemployment, time_off_in_lieu, time_off_in_lieu_overtime, tips_controlled, vacation_accrual_adjustment, vacation_pay, vacation_pay_employee_terminated, vacation_pay_no_time_taken, vacation_pay_time_taken, wage 255all_earnings, none, regular_earnings, total_income 255Response
Created
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("business_preset").
Hide child attributes
Hide child attributes
255The translation of the name property for the request locale. Computed using the values in name and name_translations and the value of the request's Accept-Language header.
The translation of the title property for the request locale. Computed using the values in title and title_translations and the value of the request's Accept-Language header.
255255If true, this is a default Business Preset and can not be deleted, title and remittance_account may be set.
all_earnings, none, regular_earnings, total_income A reference to the object in an external system, e.g. the primary key of the object in your application's database. Nmbr doesn't use, validate, parse, or require this value to be unique - it simply stores it for your reference.
255The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.

