curl --request GET \
--url https://sandbox.nmbr.co/services/payroll/pay_rates/{pay_rate} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.nmbr.co/services/payroll/pay_rates/{pay_rate}"
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/pay_rates/{pay_rate}', 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/pay_rates/{pay_rate}",
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/pay_rates/{pay_rate}"
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/pay_rates/{pay_rate}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/pay_rates/{pay_rate}")
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": "pay_rate",
"data": {
"work_assignment": {
"id": "<id>",
"object": "work_assignment",
"links": {
"self": "/work_assignments/<id>"
}
},
"title": "Marketing Manager",
"title_translations": null,
"title_translated": "Marketing Manager",
"type": "hourly",
"rate": 15,
"expected_hours_per_week": 40,
"is_editable": true,
"is_deletable": true,
"effective_from": "2026-01-01",
"earliest_valid_effective_to": "2026-01-01",
"effective_to": null,
"business_preset": null,
"expense_accounting_code": null,
"liability_accounting_code": null,
"external_ref": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/pay_rates/<id>"
}
}Retrieve a pay rate
curl --request GET \
--url https://sandbox.nmbr.co/services/payroll/pay_rates/{pay_rate} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.nmbr.co/services/payroll/pay_rates/{pay_rate}"
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/pay_rates/{pay_rate}', 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/pay_rates/{pay_rate}",
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/pay_rates/{pay_rate}"
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/pay_rates/{pay_rate}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/pay_rates/{pay_rate}")
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": "pay_rate",
"data": {
"work_assignment": {
"id": "<id>",
"object": "work_assignment",
"links": {
"self": "/work_assignments/<id>"
}
},
"title": "Marketing Manager",
"title_translations": null,
"title_translated": "Marketing Manager",
"type": "hourly",
"rate": 15,
"expected_hours_per_week": 40,
"is_editable": true,
"is_deletable": true,
"effective_from": "2026-01-01",
"earliest_valid_effective_to": "2026-01-01",
"effective_to": null,
"business_preset": null,
"expense_accounting_code": null,
"liability_accounting_code": null,
"external_ref": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/pay_rates/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
business_preset, expense_accounting_code, liability_accounting_code, overtime_rates, tag_assignment, work_assignment Response
OK
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("pay_rate").
- Default
- With work_assignment expanded
- With overtime_rates expanded
- With business_preset expanded
- With expense_accounting_code expanded
- With liability_accounting_code expanded
- With tag_assignment expanded
Hide child attributes
Hide child attributes
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.
Whether this is a salary or hourly pay rate. Determines how rate is interpreted.
hourly, salary The annual salary when type is salary, or the hourly wage when type is hourly.
The expected number of working hours per week. Must be greater than 0 for salary pay rates. Used to calculate the equivalent hourly rate from salaries for overtime.
Whether the pay rate's type, rate, and effective_from can be modified. Once the pay rate has been used on a non-draft Payroll, these fields are locked.
Whether the pay rate can be deleted. A pay rate may not be deleted once it has been used on a non-draft Payroll.
The date from which this pay rate is applied to Pay Stubs.
The earliest date that effective_to may be set to, based on the most recent non-draft Payroll period in which this pay rate was active.
The date after which this pay rate is no longer applied and can no longer be used to create Earning Line Items. null if the pay rate applies indefinitely.
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.

