Update Webhook
curl --request PUT \
--url https://api.linkupapi.com/v2/webhooks/{webhook_id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"url": "<string>",
"events": [
{}
],
"retry": true,
"is_active": true
}
'import requests
url = "https://api.linkupapi.com/v2/webhooks/{webhook_id}"
payload = {
"url": "<string>",
"events": [{}],
"retry": True,
"is_active": True
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: '<string>', events: [{}], retry: true, is_active: true})
};
fetch('https://api.linkupapi.com/v2/webhooks/{webhook_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_URL => "https://api.linkupapi.com/v2/webhooks/{webhook_id}",
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' => '<string>',
'events' => [
[
]
],
'retry' => true,
'is_active' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v2/webhooks/{webhook_id}"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"events\": [\n {}\n ],\n \"retry\": true,\n \"is_active\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
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://api.linkupapi.com/v2/webhooks/{webhook_id}")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"events\": [\n {}\n ],\n \"retry\": true,\n \"is_active\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/webhooks/{webhook_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"<string>\",\n \"events\": [\n {}\n ],\n \"retry\": true,\n \"is_active\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"webhook_id": "6789abcdef0123456789abcd",
"updated": true
},
"metadata": {
"action": "update_webhook",
"credits_consumed": 0,
"timestamp": "2025-01-15T10:30:00.000000"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Webhook not found"
},
"metadata": {
"action": "update_webhook",
"credits_consumed": 0,
"timestamp": "2025-01-15T10:30:00.000000"
}
}
Webhooks (Real-Time)
Update Webhook
Update a webhook configuration
PUT
/
v2
/
webhooks
/
{webhook_id}
Update Webhook
curl --request PUT \
--url https://api.linkupapi.com/v2/webhooks/{webhook_id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"url": "<string>",
"events": [
{}
],
"retry": true,
"is_active": true
}
'import requests
url = "https://api.linkupapi.com/v2/webhooks/{webhook_id}"
payload = {
"url": "<string>",
"events": [{}],
"retry": True,
"is_active": True
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: '<string>', events: [{}], retry: true, is_active: true})
};
fetch('https://api.linkupapi.com/v2/webhooks/{webhook_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_URL => "https://api.linkupapi.com/v2/webhooks/{webhook_id}",
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' => '<string>',
'events' => [
[
]
],
'retry' => true,
'is_active' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v2/webhooks/{webhook_id}"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"events\": [\n {}\n ],\n \"retry\": true,\n \"is_active\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
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://api.linkupapi.com/v2/webhooks/{webhook_id}")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"events\": [\n {}\n ],\n \"retry\": true,\n \"is_active\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/webhooks/{webhook_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"<string>\",\n \"events\": [\n {}\n ],\n \"retry\": true,\n \"is_active\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"webhook_id": "6789abcdef0123456789abcd",
"updated": true
},
"metadata": {
"action": "update_webhook",
"credits_consumed": 0,
"timestamp": "2025-01-15T10:30:00.000000"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Webhook not found"
},
"metadata": {
"action": "update_webhook",
"credits_consumed": 0,
"timestamp": "2025-01-15T10:30:00.000000"
}
}
Update the URL, events, or active status of an existing webhook.
Header Parameters
string
required
Your API key
Path Parameters
string
required
The unique identifier of the webhook to update
Body Parameters
string
New webhook URL. Must be a publicly accessible HTTPS endpoint.
array
New list of event types to listen for (e.g.
["message_received", "accepted_invitation"]).boolean
Custom mode only. Turn automatic retries of failed POSTs on (
true, default) or off (false). See Delivery & retries.boolean
Set to
false to pause the webhook without deleting it.Response
boolean
Whether the update was successful
{
"success": true,
"data": {
"webhook_id": "6789abcdef0123456789abcd",
"updated": true
},
"metadata": {
"action": "update_webhook",
"credits_consumed": 0,
"timestamp": "2025-01-15T10:30:00.000000"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Webhook not found"
},
"metadata": {
"action": "update_webhook",
"credits_consumed": 0,
"timestamp": "2025-01-15T10:30:00.000000"
}
}
Notes
- Only the fields you include in the request body will be updated
- Setting
is_activetofalsedoes not stop monitoring — usePOST /v2/webhooks/{webhook_id}/stopfor that
Was this page helpful?