curl --request GET \
--url https://sandbox.nmbr.co/services/payroll/contractors/{contractor} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.nmbr.co/services/payroll/contractors/{contractor}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.nmbr.co/services/payroll/contractors/{contractor}', 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/contractors/{contractor}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.nmbr.co/services/payroll/contractors/{contractor}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.nmbr.co/services/payroll/contractors/{contractor}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/contractors/{contractor}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "contractor",
"data": {
"business_name": "Contractor Co",
"first_name": "John",
"last_name": "Smith",
"middle_initial": null,
"email": "john@smith.com",
"business_number": null,
"sin_last_3": null,
"external_ref": null,
"preferred_locale": null,
"archived_at": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/contractors/<id>"
}
}Retrieve a contractor
curl --request GET \
--url https://sandbox.nmbr.co/services/payroll/contractors/{contractor} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.nmbr.co/services/payroll/contractors/{contractor}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.nmbr.co/services/payroll/contractors/{contractor}', 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/contractors/{contractor}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.nmbr.co/services/payroll/contractors/{contractor}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.nmbr.co/services/payroll/contractors/{contractor}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/contractors/{contractor}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "contractor",
"data": {
"business_name": "Contractor Co",
"first_name": "John",
"last_name": "Smith",
"middle_initial": null,
"email": "john@smith.com",
"business_number": null,
"sin_last_3": null,
"external_ref": null,
"preferred_locale": null,
"archived_at": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/contractors/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
company, work_assignments Response
OK
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("contractor").
- Default
- With company expanded
- With work_assignments expanded
Hide child attributes
Hide child attributes
The contractor's business or corporation name. null for individual contractors.
255The contractor's first name. null for corporation contractors.
50The contractor's last name. null for corporation contractors.
50The contractor's middle initial. null for corporation contractors.
1The contractor's email address, used for payroll communications.
255The contractor's 15-character (BN15) Canada Revenue Agency (CRA) program account number, consisting of a 9-digit Business Number (BN), a 2-letter program identifier, and a 4-digit reference number. null for individual contractors.
15The last 3 digits of the contractor's Social Insurance Number (SIN). null if no SIN has been provided.
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 locale used for payroll communications sent to this contractor, such as Pay Stub emails. If not set, the Business Entity's locale is used.
en, fr The date the contractor was archived. Archiving a contractor also archives all Work Assignments that are not already archived. Archived contractors do not appear in active listings.
The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.

