curl --request PUT \
--url https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"business_preset_id": "<id>",
"employer_statutory_withholding_type": "ei",
"title": "EI",
"title_translations": {
"en": "EI",
"fr": "AE"
},
"remittance_account_id": "<id>"
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item}"
payload = {
"business_preset_id": "<id>",
"employer_statutory_withholding_type": "ei",
"title": "EI",
"title_translations": {
"en": "EI",
"fr": "AE"
},
"remittance_account_id": "<id>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
business_preset_id: '<id>',
employer_statutory_withholding_type: 'ei',
title: 'EI',
title_translations: {en: 'EI', fr: 'AE'},
remittance_account_id: '<id>'
})
};
fetch('https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item}', 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/employer_statutory_withholding_line_items/{line_item}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'business_preset_id' => '<id>',
'employer_statutory_withholding_type' => 'ei',
'title' => 'EI',
'title_translations' => [
'en' => 'EI',
'fr' => 'AE'
],
'remittance_account_id' => '<id>'
]),
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/employer_statutory_withholding_line_items/{line_item}"
payload := strings.NewReader("{\n \"business_preset_id\": \"<id>\",\n \"employer_statutory_withholding_type\": \"ei\",\n \"title\": \"EI\",\n \"title_translations\": {\n \"en\": \"EI\",\n \"fr\": \"AE\"\n },\n \"remittance_account_id\": \"<id>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"business_preset_id\": \"<id>\",\n \"employer_statutory_withholding_type\": \"ei\",\n \"title\": \"EI\",\n \"title_translations\": {\n \"en\": \"EI\",\n \"fr\": \"AE\"\n },\n \"remittance_account_id\": \"<id>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"business_preset_id\": \"<id>\",\n \"employer_statutory_withholding_type\": \"ei\",\n \"title\": \"EI\",\n \"title_translations\": {\n \"en\": \"EI\",\n \"fr\": \"AE\"\n },\n \"remittance_account_id\": \"<id>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "employer_statutory_withholding_line_item",
"data": {
"pay_stub": {
"id": "<id>",
"object": "pay_stub",
"links": {
"self": "/pay_stubs/<id>"
}
},
"line_item_type": "employer_statutory_withholding",
"is_system": true,
"is_managed": true,
"amount": 35,
"custom_amount": null,
"managed_amount": 35,
"employer_statutory_withholding_type": {
"id": "<id>",
"object": "employer_statutory_withholding_type",
"data": {
"type": "ei",
"label": "EI"
},
"links": {
"self": "/employer_statutory_withholding_types/ei"
}
},
"title": "EI",
"title_translations": {
"en": "EI",
"fr": "AE"
},
"title_translated": "EI",
"remittance_account": {
"id": "<id>",
"object": "remittance_account",
"links": {
"self": "/remittance_accounts/<id>"
}
},
"source_adjustment": null,
"business_preset": {
"id": "<id>",
"object": "business_preset",
"links": {
"self": "/business_presets/<id>"
}
},
"expense_accounting_code": null,
"managed_expense_accounting_code": null,
"custom_expense_accounting_code": null,
"liability_accounting_code": null,
"managed_liability_accounting_code": null,
"custom_liability_accounting_code": null,
"component_settings": {
"attributes_locked": false
},
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/employer_statutory_withholding_line_items/<id>"
}
}Update an employer statutory withholding line item
Only available on correction and historical payrolls.
curl --request PUT \
--url https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"business_preset_id": "<id>",
"employer_statutory_withholding_type": "ei",
"title": "EI",
"title_translations": {
"en": "EI",
"fr": "AE"
},
"remittance_account_id": "<id>"
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item}"
payload = {
"business_preset_id": "<id>",
"employer_statutory_withholding_type": "ei",
"title": "EI",
"title_translations": {
"en": "EI",
"fr": "AE"
},
"remittance_account_id": "<id>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
business_preset_id: '<id>',
employer_statutory_withholding_type: 'ei',
title: 'EI',
title_translations: {en: 'EI', fr: 'AE'},
remittance_account_id: '<id>'
})
};
fetch('https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item}', 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/employer_statutory_withholding_line_items/{line_item}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'business_preset_id' => '<id>',
'employer_statutory_withholding_type' => 'ei',
'title' => 'EI',
'title_translations' => [
'en' => 'EI',
'fr' => 'AE'
],
'remittance_account_id' => '<id>'
]),
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/employer_statutory_withholding_line_items/{line_item}"
payload := strings.NewReader("{\n \"business_preset_id\": \"<id>\",\n \"employer_statutory_withholding_type\": \"ei\",\n \"title\": \"EI\",\n \"title_translations\": {\n \"en\": \"EI\",\n \"fr\": \"AE\"\n },\n \"remittance_account_id\": \"<id>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"business_preset_id\": \"<id>\",\n \"employer_statutory_withholding_type\": \"ei\",\n \"title\": \"EI\",\n \"title_translations\": {\n \"en\": \"EI\",\n \"fr\": \"AE\"\n },\n \"remittance_account_id\": \"<id>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/employer_statutory_withholding_line_items/{line_item}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"business_preset_id\": \"<id>\",\n \"employer_statutory_withholding_type\": \"ei\",\n \"title\": \"EI\",\n \"title_translations\": {\n \"en\": \"EI\",\n \"fr\": \"AE\"\n },\n \"remittance_account_id\": \"<id>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "employer_statutory_withholding_line_item",
"data": {
"pay_stub": {
"id": "<id>",
"object": "pay_stub",
"links": {
"self": "/pay_stubs/<id>"
}
},
"line_item_type": "employer_statutory_withholding",
"is_system": true,
"is_managed": true,
"amount": 35,
"custom_amount": null,
"managed_amount": 35,
"employer_statutory_withholding_type": {
"id": "<id>",
"object": "employer_statutory_withholding_type",
"data": {
"type": "ei",
"label": "EI"
},
"links": {
"self": "/employer_statutory_withholding_types/ei"
}
},
"title": "EI",
"title_translations": {
"en": "EI",
"fr": "AE"
},
"title_translated": "EI",
"remittance_account": {
"id": "<id>",
"object": "remittance_account",
"links": {
"self": "/remittance_accounts/<id>"
}
},
"source_adjustment": null,
"business_preset": {
"id": "<id>",
"object": "business_preset",
"links": {
"self": "/business_presets/<id>"
}
},
"expense_accounting_code": null,
"managed_expense_accounting_code": null,
"custom_expense_accounting_code": null,
"liability_accounting_code": null,
"managed_liability_accounting_code": null,
"custom_liability_accounting_code": null,
"component_settings": {
"attributes_locked": false
},
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/employer_statutory_withholding_line_items/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
Editing is prevented when is_editable is false
The type of employer statutory withholding for this line item.
Editing is prevented when is_editable is false
cpp, cpp_2, eht, ei, qpip, qpp, qpp_2, wcb An override for managed_amount. When set, amount reflects this value instead of managed_amount.
Editing is prevented when is_editable is false
x <= 999999Editing is prevented when is_editable is false
255Editing is prevented when is_editable is false
Editing is prevented when is_editable is false
Editing is prevented when is_editable is false
Editing is prevented when is_editable is false
Editing is prevented when is_editable is false
255Response
OK
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("employer_statutory_withholding_line_item").
Hide child attributes
Hide child attributes
Whether this line item was generated automatically by the payroll engine.
Always true. Employer statutory withholding line items are fully managed by the payroll engine and cannot be created, updated, or deleted.
The effective amount for this line item. Returns custom_amount if set, otherwise managed_amount. Read-only.
An override for managed_amount. When set, amount reflects this value instead of managed_amount.
The withholding amount calculated by the payroll engine. Read-only; set custom_amount to override.
The type of employer statutory withholding for this line item.
Hide child attributes
Hide child attributes
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("employer_statutory_withholding_type").
255The 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.
The effective expense accounting code. Returns the user-set value if present, otherwise the system-derived value. Writes to this field set the user override.
The expense accounting code derived by the system from accounting code rules and presets. Read-only.
User-set expense accounting code that overrides the system-derived value.
The effective liability accounting code. Returns the user-set value if present, otherwise the system-derived value. Writes to this field set the user override.
The liability accounting code derived by the system from accounting code rules and presets. Read-only.
User-set liability accounting code that overrides the system-derived value.
The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.

