Update a webhook
curl --request PUT \
--url https://sandbox.nmbr.co/services/payroll/webhooks/{webhook} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "http://localhost/webhooks",
"is_enabled": true,
"events": [
"resource_created",
"resource_updated",
"resource_deleted",
"payroll_approved",
"payroll_unapproved",
"payroll_paid",
"payroll_deadline_upcoming",
"pay_stub_available",
"async_task_completed",
"form_batch_completed",
"integration_authentication_success",
"integration_authentication_failure",
"integration_sync_account_codes_complete",
"integration_sync_account_codes_failure",
"integration_sync_journal_entries_complete",
"integration_sync_journal_entries_failure",
"integration_sync_tags_complete",
"integration_sync_tags_failure"
]
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/webhooks/{webhook}"
payload = {
"url": "http://localhost/webhooks",
"is_enabled": True,
"events": ["resource_created", "resource_updated", "resource_deleted", "payroll_approved", "payroll_unapproved", "payroll_paid", "payroll_deadline_upcoming", "pay_stub_available", "async_task_completed", "form_batch_completed", "integration_authentication_success", "integration_authentication_failure", "integration_sync_account_codes_complete", "integration_sync_account_codes_failure", "integration_sync_journal_entries_complete", "integration_sync_journal_entries_failure", "integration_sync_tags_complete", "integration_sync_tags_failure"]
}
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({
url: 'http://localhost/webhooks',
is_enabled: true,
events: [
'resource_created',
'resource_updated',
'resource_deleted',
'payroll_approved',
'payroll_unapproved',
'payroll_paid',
'payroll_deadline_upcoming',
'pay_stub_available',
'async_task_completed',
'form_batch_completed',
'integration_authentication_success',
'integration_authentication_failure',
'integration_sync_account_codes_complete',
'integration_sync_account_codes_failure',
'integration_sync_journal_entries_complete',
'integration_sync_journal_entries_failure',
'integration_sync_tags_complete',
'integration_sync_tags_failure'
]
})
};
fetch('https://sandbox.nmbr.co/services/payroll/webhooks/{webhook}', 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/webhooks/{webhook}",
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([
'url' => 'http://localhost/webhooks',
'is_enabled' => true,
'events' => [
'resource_created',
'resource_updated',
'resource_deleted',
'payroll_approved',
'payroll_unapproved',
'payroll_paid',
'payroll_deadline_upcoming',
'pay_stub_available',
'async_task_completed',
'form_batch_completed',
'integration_authentication_success',
'integration_authentication_failure',
'integration_sync_account_codes_complete',
'integration_sync_account_codes_failure',
'integration_sync_journal_entries_complete',
'integration_sync_journal_entries_failure',
'integration_sync_tags_complete',
'integration_sync_tags_failure'
]
]),
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/webhooks/{webhook}"
payload := strings.NewReader("{\n \"url\": \"http://localhost/webhooks\",\n \"is_enabled\": true,\n \"events\": [\n \"resource_created\",\n \"resource_updated\",\n \"resource_deleted\",\n \"payroll_approved\",\n \"payroll_unapproved\",\n \"payroll_paid\",\n \"payroll_deadline_upcoming\",\n \"pay_stub_available\",\n \"async_task_completed\",\n \"form_batch_completed\",\n \"integration_authentication_success\",\n \"integration_authentication_failure\",\n \"integration_sync_account_codes_complete\",\n \"integration_sync_account_codes_failure\",\n \"integration_sync_journal_entries_complete\",\n \"integration_sync_journal_entries_failure\",\n \"integration_sync_tags_complete\",\n \"integration_sync_tags_failure\"\n ]\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/webhooks/{webhook}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"http://localhost/webhooks\",\n \"is_enabled\": true,\n \"events\": [\n \"resource_created\",\n \"resource_updated\",\n \"resource_deleted\",\n \"payroll_approved\",\n \"payroll_unapproved\",\n \"payroll_paid\",\n \"payroll_deadline_upcoming\",\n \"pay_stub_available\",\n \"async_task_completed\",\n \"form_batch_completed\",\n \"integration_authentication_success\",\n \"integration_authentication_failure\",\n \"integration_sync_account_codes_complete\",\n \"integration_sync_account_codes_failure\",\n \"integration_sync_journal_entries_complete\",\n \"integration_sync_journal_entries_failure\",\n \"integration_sync_tags_complete\",\n \"integration_sync_tags_failure\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/webhooks/{webhook}")
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 \"url\": \"http://localhost/webhooks\",\n \"is_enabled\": true,\n \"events\": [\n \"resource_created\",\n \"resource_updated\",\n \"resource_deleted\",\n \"payroll_approved\",\n \"payroll_unapproved\",\n \"payroll_paid\",\n \"payroll_deadline_upcoming\",\n \"pay_stub_available\",\n \"async_task_completed\",\n \"form_batch_completed\",\n \"integration_authentication_success\",\n \"integration_authentication_failure\",\n \"integration_sync_account_codes_complete\",\n \"integration_sync_account_codes_failure\",\n \"integration_sync_journal_entries_complete\",\n \"integration_sync_journal_entries_failure\",\n \"integration_sync_tags_complete\",\n \"integration_sync_tags_failure\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "webhook",
"data": {
"url": "http://localhost/webhooks",
"key": "<token>",
"is_enabled": true,
"events": [
"resource_created",
"resource_updated",
"resource_deleted",
"payroll_approved",
"payroll_unapproved",
"payroll_paid",
"payroll_deadline_upcoming",
"pay_stub_available",
"async_task_completed",
"form_batch_completed",
"integration_authentication_success",
"integration_authentication_failure",
"integration_sync_account_codes_complete",
"integration_sync_account_codes_failure",
"integration_sync_journal_entries_complete",
"integration_sync_journal_entries_failure",
"integration_sync_tags_complete",
"integration_sync_tags_failure"
],
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/webhooks/<id>"
}
}Webhooks
Update a webhook
PUT
/
webhooks
/
{webhook}
Update a webhook
curl --request PUT \
--url https://sandbox.nmbr.co/services/payroll/webhooks/{webhook} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "http://localhost/webhooks",
"is_enabled": true,
"events": [
"resource_created",
"resource_updated",
"resource_deleted",
"payroll_approved",
"payroll_unapproved",
"payroll_paid",
"payroll_deadline_upcoming",
"pay_stub_available",
"async_task_completed",
"form_batch_completed",
"integration_authentication_success",
"integration_authentication_failure",
"integration_sync_account_codes_complete",
"integration_sync_account_codes_failure",
"integration_sync_journal_entries_complete",
"integration_sync_journal_entries_failure",
"integration_sync_tags_complete",
"integration_sync_tags_failure"
]
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/webhooks/{webhook}"
payload = {
"url": "http://localhost/webhooks",
"is_enabled": True,
"events": ["resource_created", "resource_updated", "resource_deleted", "payroll_approved", "payroll_unapproved", "payroll_paid", "payroll_deadline_upcoming", "pay_stub_available", "async_task_completed", "form_batch_completed", "integration_authentication_success", "integration_authentication_failure", "integration_sync_account_codes_complete", "integration_sync_account_codes_failure", "integration_sync_journal_entries_complete", "integration_sync_journal_entries_failure", "integration_sync_tags_complete", "integration_sync_tags_failure"]
}
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({
url: 'http://localhost/webhooks',
is_enabled: true,
events: [
'resource_created',
'resource_updated',
'resource_deleted',
'payroll_approved',
'payroll_unapproved',
'payroll_paid',
'payroll_deadline_upcoming',
'pay_stub_available',
'async_task_completed',
'form_batch_completed',
'integration_authentication_success',
'integration_authentication_failure',
'integration_sync_account_codes_complete',
'integration_sync_account_codes_failure',
'integration_sync_journal_entries_complete',
'integration_sync_journal_entries_failure',
'integration_sync_tags_complete',
'integration_sync_tags_failure'
]
})
};
fetch('https://sandbox.nmbr.co/services/payroll/webhooks/{webhook}', 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/webhooks/{webhook}",
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([
'url' => 'http://localhost/webhooks',
'is_enabled' => true,
'events' => [
'resource_created',
'resource_updated',
'resource_deleted',
'payroll_approved',
'payroll_unapproved',
'payroll_paid',
'payroll_deadline_upcoming',
'pay_stub_available',
'async_task_completed',
'form_batch_completed',
'integration_authentication_success',
'integration_authentication_failure',
'integration_sync_account_codes_complete',
'integration_sync_account_codes_failure',
'integration_sync_journal_entries_complete',
'integration_sync_journal_entries_failure',
'integration_sync_tags_complete',
'integration_sync_tags_failure'
]
]),
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/webhooks/{webhook}"
payload := strings.NewReader("{\n \"url\": \"http://localhost/webhooks\",\n \"is_enabled\": true,\n \"events\": [\n \"resource_created\",\n \"resource_updated\",\n \"resource_deleted\",\n \"payroll_approved\",\n \"payroll_unapproved\",\n \"payroll_paid\",\n \"payroll_deadline_upcoming\",\n \"pay_stub_available\",\n \"async_task_completed\",\n \"form_batch_completed\",\n \"integration_authentication_success\",\n \"integration_authentication_failure\",\n \"integration_sync_account_codes_complete\",\n \"integration_sync_account_codes_failure\",\n \"integration_sync_journal_entries_complete\",\n \"integration_sync_journal_entries_failure\",\n \"integration_sync_tags_complete\",\n \"integration_sync_tags_failure\"\n ]\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/webhooks/{webhook}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"http://localhost/webhooks\",\n \"is_enabled\": true,\n \"events\": [\n \"resource_created\",\n \"resource_updated\",\n \"resource_deleted\",\n \"payroll_approved\",\n \"payroll_unapproved\",\n \"payroll_paid\",\n \"payroll_deadline_upcoming\",\n \"pay_stub_available\",\n \"async_task_completed\",\n \"form_batch_completed\",\n \"integration_authentication_success\",\n \"integration_authentication_failure\",\n \"integration_sync_account_codes_complete\",\n \"integration_sync_account_codes_failure\",\n \"integration_sync_journal_entries_complete\",\n \"integration_sync_journal_entries_failure\",\n \"integration_sync_tags_complete\",\n \"integration_sync_tags_failure\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/webhooks/{webhook}")
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 \"url\": \"http://localhost/webhooks\",\n \"is_enabled\": true,\n \"events\": [\n \"resource_created\",\n \"resource_updated\",\n \"resource_deleted\",\n \"payroll_approved\",\n \"payroll_unapproved\",\n \"payroll_paid\",\n \"payroll_deadline_upcoming\",\n \"pay_stub_available\",\n \"async_task_completed\",\n \"form_batch_completed\",\n \"integration_authentication_success\",\n \"integration_authentication_failure\",\n \"integration_sync_account_codes_complete\",\n \"integration_sync_account_codes_failure\",\n \"integration_sync_journal_entries_complete\",\n \"integration_sync_journal_entries_failure\",\n \"integration_sync_tags_complete\",\n \"integration_sync_tags_failure\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "webhook",
"data": {
"url": "http://localhost/webhooks",
"key": "<token>",
"is_enabled": true,
"events": [
"resource_created",
"resource_updated",
"resource_deleted",
"payroll_approved",
"payroll_unapproved",
"payroll_paid",
"payroll_deadline_upcoming",
"pay_stub_available",
"async_task_completed",
"form_batch_completed",
"integration_authentication_success",
"integration_authentication_failure",
"integration_sync_account_codes_complete",
"integration_sync_account_codes_failure",
"integration_sync_journal_entries_complete",
"integration_sync_journal_entries_failure",
"integration_sync_tags_complete",
"integration_sync_tags_failure"
],
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/webhooks/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Available options:
async_task_completed, form_batch_completed, integration_authentication_failure, integration_authentication_success, integration_sync_account_codes_complete, integration_sync_account_codes_failure, integration_sync_journal_entries_complete, integration_sync_journal_entries_failure, integration_sync_tags_complete, integration_sync_tags_failure, pay_stub_available, payroll_approved, payroll_deadline_upcoming, payroll_paid, payroll_unapproved, ping, resource_created, resource_deleted, resource_updated Response
200 - application/json
OK
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("webhook").
Hide child attributes
Hide child attributes
Maximum string length:
255Maximum string length:
255The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.
⌘I

