curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/payments/{payment}/release \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://sandbox.nmbr.co/services/payroll/payments/{payment}/release"
payload = {}
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({})
};
fetch('https://sandbox.nmbr.co/services/payroll/payments/{payment}/release', 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/payments/{payment}/release",
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([
]),
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/payments/{payment}/release"
payload := strings.NewReader("{}")
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/payments/{payment}/release")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/payments/{payment}/release")
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 = "{}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "payment",
"data": {
"payroll": {
"id": "<id>",
"object": "payroll",
"links": {
"self": "/payrolls/<id>"
}
},
"remittance_account": null,
"destination": "payroll_float",
"method": "pad",
"amount": 0,
"status": "pending",
"process_at": "2026-01-27",
"expected_at": "2026-01-27",
"is_impacted_by_weekend_or_holiday": false,
"is_held": false,
"held_at": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/payments/<id>"
}
}Release a held payment
Release a previously held payment so normal processing can resume.
Any held payment can be released regardless of its current status. Once released, pending payments will be submitted in the next processing window. Releasing a held funding payment unblocks downstream payments that were waiting for verification.
curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/payments/{payment}/release \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://sandbox.nmbr.co/services/payroll/payments/{payment}/release"
payload = {}
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({})
};
fetch('https://sandbox.nmbr.co/services/payroll/payments/{payment}/release', 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/payments/{payment}/release",
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([
]),
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/payments/{payment}/release"
payload := strings.NewReader("{}")
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/payments/{payment}/release")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/payments/{payment}/release")
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 = "{}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "payment",
"data": {
"payroll": {
"id": "<id>",
"object": "payroll",
"links": {
"self": "/payrolls/<id>"
}
},
"remittance_account": null,
"destination": "payroll_float",
"method": "pad",
"amount": 0,
"status": "pending",
"process_at": "2026-01-27",
"expected_at": "2026-01-27",
"is_impacted_by_weekend_or_holiday": false,
"is_held": false,
"held_at": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/payments/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
The body is of type object.
Response
OK
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("payment").
Hide child attributes
Hide child attributes
Where the payment is destined. payroll_float is the funding debit from the employer's bank account. employee is a credit to an employee or contractor. cra and rq are remittances to the Canada Revenue Agency (CRA) and Revenu Québec (RQ), respectively.
Where the payment is destined. For example, employee for payments to employees, cra for remittances to CRA, payroll_float for business funding.
bill_pay, cra, employee, internal, no_op, payroll_float, rq How the payment will be processed. pad (Pre-Authorized Debit) is used for employer funding. direct_deposit is used for employee credits. manual indicates the payment is handled outside of Nmbr.
How the payment will be processed. For example, direct_deposit or pad.
direct_deposit, manual, pad, wire The dollar amount of the payment.
The current processing status of the payment. Payments begin as pending, move to processing when submitted to the banking network, and settle as paid or failed. Held payments that pass their processing date become overdue.
canceled, failed, overdue, paid, pending, processing The date on which Nmbr will submit the payment to the banking network for processing.
The date on which the payment is expected to arrive at its destination.
Whether the payment dates have been adjusted due to a weekend or bank holiday.
Whether the payment dates have been adjusted due to a weekend or bank holiday.
Whether the payment is currently held. A held payment will not be submitted for processing until it is released.
The timestamp when the payment was placed on hold. null if the payment is not held.
The timestamp when the payment was placed on hold. null if the payment is not held.
The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.

