curl --request PUT \
--url https://sandbox.nmbr.co/services/payroll/remittance_accounts/{remittance_account} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"label": "CRA Payroll Account - Main",
"account_identifier": "123456789RP0002",
"remitter_type": "accelerated_threshold_1",
"remittance_management": "automatic",
"note": "Updated main payroll remittance account",
"address_line_1": "555 MacKenzie Ave",
"city": "Ottawa",
"administrative_area": "ON",
"country_code": "CA",
"postal_code": "K1A 0L5"
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/remittance_accounts/{remittance_account}"
payload = {
"label": "CRA Payroll Account - Main",
"account_identifier": "123456789RP0002",
"remitter_type": "accelerated_threshold_1",
"remittance_management": "automatic",
"note": "Updated main payroll remittance account",
"address_line_1": "555 MacKenzie Ave",
"city": "Ottawa",
"administrative_area": "ON",
"country_code": "CA",
"postal_code": "K1A 0L5"
}
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({
label: 'CRA Payroll Account - Main',
account_identifier: '123456789RP0002',
remitter_type: 'accelerated_threshold_1',
remittance_management: 'automatic',
note: 'Updated main payroll remittance account',
address_line_1: '555 MacKenzie Ave',
city: 'Ottawa',
administrative_area: 'ON',
country_code: 'CA',
postal_code: 'K1A 0L5'
})
};
fetch('https://sandbox.nmbr.co/services/payroll/remittance_accounts/{remittance_account}', 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/remittance_accounts/{remittance_account}",
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([
'label' => 'CRA Payroll Account - Main',
'account_identifier' => '123456789RP0002',
'remitter_type' => 'accelerated_threshold_1',
'remittance_management' => 'automatic',
'note' => 'Updated main payroll remittance account',
'address_line_1' => '555 MacKenzie Ave',
'city' => 'Ottawa',
'administrative_area' => 'ON',
'country_code' => 'CA',
'postal_code' => 'K1A 0L5'
]),
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/remittance_accounts/{remittance_account}"
payload := strings.NewReader("{\n \"label\": \"CRA Payroll Account - Main\",\n \"account_identifier\": \"123456789RP0002\",\n \"remitter_type\": \"accelerated_threshold_1\",\n \"remittance_management\": \"automatic\",\n \"note\": \"Updated main payroll remittance account\",\n \"address_line_1\": \"555 MacKenzie Ave\",\n \"city\": \"Ottawa\",\n \"administrative_area\": \"ON\",\n \"country_code\": \"CA\",\n \"postal_code\": \"K1A 0L5\"\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/remittance_accounts/{remittance_account}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"label\": \"CRA Payroll Account - Main\",\n \"account_identifier\": \"123456789RP0002\",\n \"remitter_type\": \"accelerated_threshold_1\",\n \"remittance_management\": \"automatic\",\n \"note\": \"Updated main payroll remittance account\",\n \"address_line_1\": \"555 MacKenzie Ave\",\n \"city\": \"Ottawa\",\n \"administrative_area\": \"ON\",\n \"country_code\": \"CA\",\n \"postal_code\": \"K1A 0L5\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/remittance_accounts/{remittance_account}")
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 \"label\": \"CRA Payroll Account - Main\",\n \"account_identifier\": \"123456789RP0002\",\n \"remitter_type\": \"accelerated_threshold_1\",\n \"remittance_management\": \"automatic\",\n \"note\": \"Updated main payroll remittance account\",\n \"address_line_1\": \"555 MacKenzie Ave\",\n \"city\": \"Ottawa\",\n \"administrative_area\": \"ON\",\n \"country_code\": \"CA\",\n \"postal_code\": \"K1A 0L5\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "remittance_account",
"data": {
"business_entity": {
"id": "<id>",
"object": "business_entity",
"links": {
"self": "/business_entities/<id>"
}
},
"source_tax_property": {
"id": "<id>",
"object": "tax_property",
"links": {
"self": "/tax_properties/<id>"
}
},
"account_provider": "ca_cra",
"is_default": false,
"is_editable": true,
"is_deletable": true,
"category": "ca_tax_agency",
"label": "CRA Payroll Account - Main",
"label_translations": null,
"label_translated": "CRA Payroll Account - Main",
"account_identifier": "123456789RP0002",
"remitter_type": "accelerated_threshold_1",
"remittance_management": "automatic",
"note": "Updated main payroll remittance account",
"address_line_1": "555 MacKenzie Ave",
"address_line_2": null,
"city": "Ottawa",
"administrative_area": "ON",
"province_code": "ON",
"country_code": "CA",
"postal_code": "K1A 0L5",
"has_payments": false,
"current_enrollments_count": 0,
"pending_enrollments_count": 0,
"metadata": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/remittance_accounts/<id>"
}
}Update a remittance account
curl --request PUT \
--url https://sandbox.nmbr.co/services/payroll/remittance_accounts/{remittance_account} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"label": "CRA Payroll Account - Main",
"account_identifier": "123456789RP0002",
"remitter_type": "accelerated_threshold_1",
"remittance_management": "automatic",
"note": "Updated main payroll remittance account",
"address_line_1": "555 MacKenzie Ave",
"city": "Ottawa",
"administrative_area": "ON",
"country_code": "CA",
"postal_code": "K1A 0L5"
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/remittance_accounts/{remittance_account}"
payload = {
"label": "CRA Payroll Account - Main",
"account_identifier": "123456789RP0002",
"remitter_type": "accelerated_threshold_1",
"remittance_management": "automatic",
"note": "Updated main payroll remittance account",
"address_line_1": "555 MacKenzie Ave",
"city": "Ottawa",
"administrative_area": "ON",
"country_code": "CA",
"postal_code": "K1A 0L5"
}
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({
label: 'CRA Payroll Account - Main',
account_identifier: '123456789RP0002',
remitter_type: 'accelerated_threshold_1',
remittance_management: 'automatic',
note: 'Updated main payroll remittance account',
address_line_1: '555 MacKenzie Ave',
city: 'Ottawa',
administrative_area: 'ON',
country_code: 'CA',
postal_code: 'K1A 0L5'
})
};
fetch('https://sandbox.nmbr.co/services/payroll/remittance_accounts/{remittance_account}', 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/remittance_accounts/{remittance_account}",
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([
'label' => 'CRA Payroll Account - Main',
'account_identifier' => '123456789RP0002',
'remitter_type' => 'accelerated_threshold_1',
'remittance_management' => 'automatic',
'note' => 'Updated main payroll remittance account',
'address_line_1' => '555 MacKenzie Ave',
'city' => 'Ottawa',
'administrative_area' => 'ON',
'country_code' => 'CA',
'postal_code' => 'K1A 0L5'
]),
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/remittance_accounts/{remittance_account}"
payload := strings.NewReader("{\n \"label\": \"CRA Payroll Account - Main\",\n \"account_identifier\": \"123456789RP0002\",\n \"remitter_type\": \"accelerated_threshold_1\",\n \"remittance_management\": \"automatic\",\n \"note\": \"Updated main payroll remittance account\",\n \"address_line_1\": \"555 MacKenzie Ave\",\n \"city\": \"Ottawa\",\n \"administrative_area\": \"ON\",\n \"country_code\": \"CA\",\n \"postal_code\": \"K1A 0L5\"\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/remittance_accounts/{remittance_account}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"label\": \"CRA Payroll Account - Main\",\n \"account_identifier\": \"123456789RP0002\",\n \"remitter_type\": \"accelerated_threshold_1\",\n \"remittance_management\": \"automatic\",\n \"note\": \"Updated main payroll remittance account\",\n \"address_line_1\": \"555 MacKenzie Ave\",\n \"city\": \"Ottawa\",\n \"administrative_area\": \"ON\",\n \"country_code\": \"CA\",\n \"postal_code\": \"K1A 0L5\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/remittance_accounts/{remittance_account}")
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 \"label\": \"CRA Payroll Account - Main\",\n \"account_identifier\": \"123456789RP0002\",\n \"remitter_type\": \"accelerated_threshold_1\",\n \"remittance_management\": \"automatic\",\n \"note\": \"Updated main payroll remittance account\",\n \"address_line_1\": \"555 MacKenzie Ave\",\n \"city\": \"Ottawa\",\n \"administrative_area\": \"ON\",\n \"country_code\": \"CA\",\n \"postal_code\": \"K1A 0L5\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "remittance_account",
"data": {
"business_entity": {
"id": "<id>",
"object": "business_entity",
"links": {
"self": "/business_entities/<id>"
}
},
"source_tax_property": {
"id": "<id>",
"object": "tax_property",
"links": {
"self": "/tax_properties/<id>"
}
},
"account_provider": "ca_cra",
"is_default": false,
"is_editable": true,
"is_deletable": true,
"category": "ca_tax_agency",
"label": "CRA Payroll Account - Main",
"label_translations": null,
"label_translated": "CRA Payroll Account - Main",
"account_identifier": "123456789RP0002",
"remitter_type": "accelerated_threshold_1",
"remittance_management": "automatic",
"note": "Updated main payroll remittance account",
"address_line_1": "555 MacKenzie Ave",
"address_line_2": null,
"city": "Ottawa",
"administrative_area": "ON",
"province_code": "ON",
"country_code": "CA",
"postal_code": "K1A 0L5",
"has_payments": false,
"current_enrollments_count": 0,
"pending_enrollments_count": 0,
"metadata": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/remittance_accounts/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
ca_benefit_provider, ca_provincial_government, ca_tax_agency, ca_union, ca_workers_compensation 255Editing is prevented when is_editable is false
255accelerated_threshold_1, accelerated_threshold_2, quarterly, regular automatic, manual 255In Canada, must be an uppercase 2-letter province code: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YT
Must be an uppercase 2-letter country code (ISO 3166-1 alpha-2, e.g., CA).
10Additional data points for this account. The available fields depend on the account's category; null for categories that capture no metadata.
- Workers’ compensation
- Other categories
Hide child attributes
Hide child attributes
The last payment made to the board before Nmbr takes over remittance, in dollars (e.g. "1250.00").
Response
OK
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("remittance_account").
Hide child attributes
Hide child attributes
The authority to which remittances are made for this account. This is used to determine how to remit payments for this account. Employer Health Tax (EHT) and Workers' Compensation (WCB) authorities are limited to one account, per province, per business entity; creating a second for an authority that already has one is rejected.
ca_ab_workers_compensation, ca_bc_eht, ca_bc_workers_compensation, ca_cra, ca_mb_eht, ca_mb_workers_compensation, ca_nb_workers_compensation, ca_nl_eht, ca_nl_workers_compensation, ca_ns_workers_compensation, ca_nt_government, ca_nt_workers_compensation, ca_nu_government, ca_nu_workers_compensation, ca_on_eht, ca_on_workers_compensation, ca_pe_workers_compensation, ca_rq, ca_sk_workers_compensation, ca_yt_workers_compensation When true, this account is used for auto-enrollment of new work-assignments, and work-assignments without an existing enrollment for this authority. Only one account per authority per business may be the default at a time.
When false, the account's account_identifier cannot be updated. Becomes false once the account is used on a non-draft payroll and an account_identifier is set; returns to true when every referencing payroll is reverted to draft or deleted.
When false, the account cannot be deleted. Becomes false once the account is referenced by any non-draft payroll; returns to true when every referencing payroll is reverted to draft or deleted.
ca_benefit_provider, ca_provincial_government, ca_tax_agency, ca_union, ca_workers_compensation 255The translation of the label property for the request locale. Computed using the values in label and label_translations and the value of the request's Accept-Language header.
255The CRA remitter type for this account, which determines remittance due dates and reporting frequency. When null, falls back to the business entity's remitter type.
accelerated_threshold_1, accelerated_threshold_2, quarterly, regular Whether remittances for this account are filed manually by the employer (manual) or handled automatically by Nmbr (automatic). Only accounts Nmbr can remit on your behalf (CRA, RQ, and Employer Health Tax authorities) may be set to automatic; all others are always manual.
automatic, manual 255255255255210Additional data points for this account. The available fields depend on the account's category; null for categories that capture no metadata.
- Workers’ compensation
- Other categories
Hide child attributes
Hide child attributes
The last payment made to the board before Nmbr takes over remittance, in dollars (e.g. "1250.00").
The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.

