Revoke the previous webhook signing secret
curl --request DELETE \
--url https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous', 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://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous"
req, _ := http.NewRequest("DELETE", 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.delete("https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}Webhooks
Revoke Previous Signing Secret
Ends the 24-hour overlap that follows a rotation: from the next delivery, only the current signing secret signs. Use it once your verifier has switched to the new secret, or straight after rotating if the previous secret may have leaked. Succeeds when there is no previous secret. Responds 404 when the subscription does not exist, is inactive, or belongs to another entity.
DELETE
/
v1
/
webhooks
/
subscriptions
/
{webhook_subscription_id}
/
signing-secret
/
previous
Revoke the previous webhook signing secret
curl --request DELETE \
--url https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous', 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://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous"
req, _ := http.NewRequest("DELETE", 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.delete("https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.payrollintegrationsapp.com/v1/webhooks/subscriptions/{webhook_subscription_id}/signing-secret/previous")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}{
"message": "<string>",
"errors": [
"<string>"
]
}Deliveries are signed only with the current secret from the next delivery
onward. Revoke the previous secret only after the receiving server verifies
with the new one, or immediately if the previous secret may have been
exposed. Learn more about rotating a signing
secret.
Authorizations
Bearer token obtained from the /v1/auth/token endpoint. Send as: Authorization: Bearer .
Path Parameters
Unique identifier of the webhook subscription
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Response
Previous signing secret revoked