Skip to main content
PUT
/
hooks
/
{id}
Update an existing hook
curl --request PUT \
  --url http://localhost:5001/hooks/{id} \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/hooks/{id}"

headers = {"X-blnk-key": "<api-key>"}

response = requests.put(url, headers=headers)

print(response.text)
const options = {method: 'PUT', headers: {'X-blnk-key': '<api-key>'}};

fetch('http://localhost:5001/hooks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://localhost:5001/hooks/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"X-blnk-key: <api-key>"
],
]);

$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 := "http://localhost:5001/hooks/{id}"

req, _ := http.NewRequest("PUT", url, nil)

req.Header.Add("X-blnk-key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.put("http://localhost:5001/hooks/{id}")
.header("X-blnk-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:5001/hooks/{id}")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["X-blnk-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
Use blnk.Hooks.update to change the configuration of an existing webhook.
1

Call the method

blnk.Hooks.update
const response = await blnk.Hooks.update('hk_test_123', {
  name: 'Pre-transaction validation',
  url: 'https://api.example.com/validate',
  type: 'PRE_TRANSACTION',
  active: false,
  timeout: 30,
  retry_count: 3,
});
FieldTypeDescription
idstringID of the hook to update.
namestringDescriptive name for the hook.
urlstringEndpoint URL Blnk calls when the hook runs.
typestringPRE_TRANSACTION or POST_TRANSACTION.
activebooleanWhether the hook is enabled.
timeoutnumberMaximum time in seconds allowed for the hook to execute.
retry_countnumberMaximum number of retry attempts if the hook fails.
2

Verify the changes

Read response.data to confirm the updated URL, type, and active status. The hook ID stays the same.
3

Response

200 OK
{
  "id": "hk_test_123",
  "name": "Pre-transaction validation",
  "url": "https://api.example.com/validate",
  "type": "PRE_TRANSACTION",
  "active": false,
  "timeout": 30,
  "retry_count": 3,
  "created_at": "2024-11-26T08:36:36.238244338Z",
  "last_run": "0001-01-01T00:00:00Z",
  "last_success": false
}
FieldTypeDescription
idstringUnique ID for the hook.
created_atstringDate and time the hook was created.
last_runstringDate and time the hook last executed.
last_successbooleanWhether the most recent execution succeeded.

How webhooks work

Hook types, payloads, and execution.

Update an existing hook

HTTP request and response schema.

Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.