Update Advanced Webhook Endpoint
curl --request POST \
--url https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"endpointId": "<string>",
"url": "<string>",
"description": "<string>",
"filterTypes": [
"<string>"
],
"channels": [
"<string>"
],
"disabled": true,
"rateLimit": 123,
"metadata": {}
}
}
'import requests
url = "https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update"
payload = { "data": {
"endpointId": "<string>",
"url": "<string>",
"description": "<string>",
"filterTypes": ["<string>"],
"channels": ["<string>"],
"disabled": True,
"rateLimit": 123,
"metadata": {}
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
endpointId: '<string>',
url: '<string>',
description: '<string>',
filterTypes: ['<string>'],
channels: ['<string>'],
disabled: true,
rateLimit: 123,
metadata: {}
}
})
};
fetch('https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update', 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.velt.dev/v2/workspace/advancedwebhook/endpoints/update",
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([
'data' => [
'endpointId' => '<string>',
'url' => '<string>',
'description' => '<string>',
'filterTypes' => [
'<string>'
],
'channels' => [
'<string>'
],
'disabled' => true,
'rateLimit' => 123,
'metadata' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update"
payload := strings.NewReader("{\n \"data\": {\n \"endpointId\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\",\n \"filterTypes\": [\n \"<string>\"\n ],\n \"channels\": [\n \"<string>\"\n ],\n \"disabled\": true,\n \"rateLimit\": 123,\n \"metadata\": {}\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"endpointId\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\",\n \"filterTypes\": [\n \"<string>\"\n ],\n \"channels\": [\n \"<string>\"\n ],\n \"disabled\": true,\n \"rateLimit\": 123,\n \"metadata\": {}\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"endpointId\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\",\n \"filterTypes\": [\n \"<string>\"\n ],\n \"channels\": [\n \"<string>\"\n ],\n \"disabled\": true,\n \"rateLimit\": 123,\n \"metadata\": {}\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Advanced webhook endpoint updated successfully.",
"data": {
"id": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"url": "https://example.com/webhooks/velt",
"description": "Updated endpoint description",
"filterTypes": ["comment.add", "comment.update"],
"channels": null,
"disabled": false,
"rateLimit": null,
"uid": null,
"createdAt": "2026-06-01T10:15:30.000Z",
"updatedAt": "2026-06-08T14:03:27.000Z"
}
}
}
Advanced Webhooks
Update Advanced Webhook Endpoint
POST
/
v2
/
workspace
/
advancedwebhook
/
endpoints
/
update
Update Advanced Webhook Endpoint
curl --request POST \
--url https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"endpointId": "<string>",
"url": "<string>",
"description": "<string>",
"filterTypes": [
"<string>"
],
"channels": [
"<string>"
],
"disabled": true,
"rateLimit": 123,
"metadata": {}
}
}
'import requests
url = "https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update"
payload = { "data": {
"endpointId": "<string>",
"url": "<string>",
"description": "<string>",
"filterTypes": ["<string>"],
"channels": ["<string>"],
"disabled": True,
"rateLimit": 123,
"metadata": {}
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
endpointId: '<string>',
url: '<string>',
description: '<string>',
filterTypes: ['<string>'],
channels: ['<string>'],
disabled: true,
rateLimit: 123,
metadata: {}
}
})
};
fetch('https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update', 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.velt.dev/v2/workspace/advancedwebhook/endpoints/update",
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([
'data' => [
'endpointId' => '<string>',
'url' => '<string>',
'description' => '<string>',
'filterTypes' => [
'<string>'
],
'channels' => [
'<string>'
],
'disabled' => true,
'rateLimit' => 123,
'metadata' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update"
payload := strings.NewReader("{\n \"data\": {\n \"endpointId\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\",\n \"filterTypes\": [\n \"<string>\"\n ],\n \"channels\": [\n \"<string>\"\n ],\n \"disabled\": true,\n \"rateLimit\": 123,\n \"metadata\": {}\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"endpointId\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\",\n \"filterTypes\": [\n \"<string>\"\n ],\n \"channels\": [\n \"<string>\"\n ],\n \"disabled\": true,\n \"rateLimit\": 123,\n \"metadata\": {}\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"endpointId\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\",\n \"filterTypes\": [\n \"<string>\"\n ],\n \"channels\": [\n \"<string>\"\n ],\n \"disabled\": true,\n \"rateLimit\": 123,\n \"metadata\": {}\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Advanced webhook endpoint updated successfully.",
"data": {
"id": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"url": "https://example.com/webhooks/velt",
"description": "Updated endpoint description",
"filterTypes": ["comment.add", "comment.update"],
"channels": null,
"disabled": false,
"rateLimit": null,
"uid": null,
"createdAt": "2026-06-01T10:15:30.000Z",
"updatedAt": "2026-06-08T14:03:27.000Z"
}
}
}
Use this API to update an existing webhook delivery endpoint. At least one field besides
endpointId must be provided.
This endpoint uses API-key-level auth: pass
x-velt-api-key and x-velt-auth-token as headers. You can obtain these from the Get Auth Tokens endpoint.Advanced webhooks must be enabled for the workspace first via Update Advanced Webhook Config with
{ "isEnabled": true }. Otherwise this endpoint returns a FAILED_PRECONDITION error.Partial update. Only the fields you send are changed; omitted fields keep their current values. The response
data echoes the endpoint’s latest post-write state — the same shape returned by Get Advanced Webhook Endpoints.Endpoint
POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
Show properties
Show properties
string
required
The ID of the endpoint to update (returned by the create and list endpoints).
string
The URL that will receive webhook events. Must be a valid
http(s) URL.string
Human-readable description of the endpoint.
string[]
Event types this endpoint subscribes to. Must be a non-empty array when provided. See Webhooks for the full list of event types.
string[]
Channels this endpoint listens to. Must be a non-empty array when provided.
boolean
Whether the endpoint is disabled. Disabled endpoints do not receive deliveries.
number
Maximum deliveries per second for this endpoint. Positive integer.
object
Key-value pairs (string values) attached to the endpoint.
Example Request
{
"data": {
"endpointId": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"description": "Updated endpoint description",
"disabled": false
}
}
Example Response
Success Response
{
"result": {
"status": "success",
"message": "Advanced webhook endpoint updated successfully.",
"data": {
"id": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"url": "https://example.com/webhooks/velt",
"description": "Updated endpoint description",
"filterTypes": ["comment.add", "comment.update"],
"channels": null,
"disabled": false,
"rateLimit": null,
"uid": null,
"createdAt": "2026-06-01T10:15:30.000Z",
"updatedAt": "2026-06-08T14:03:27.000Z"
}
}
}
Failure Response
{
"error": {
"status": "INVALID_ARGUMENT",
"message": "At least one endpoint field besides endpointId must be provided."
}
}
Failure Response (advanced webhooks disabled)
{
"error": {
"status": "FAILED_PRECONDITION",
"message": "Advanced webhooks are disabled for this workspace. Enable them via POST /v2/workspace/advancedwebhookconfig/update with { \"isEnabled\": true }."
}
}
{
"result": {
"status": "success",
"message": "Advanced webhook endpoint updated successfully.",
"data": {
"id": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"url": "https://example.com/webhooks/velt",
"description": "Updated endpoint description",
"filterTypes": ["comment.add", "comment.update"],
"channels": null,
"disabled": false,
"rateLimit": null,
"uid": null,
"createdAt": "2026-06-01T10:15:30.000Z",
"updatedAt": "2026-06-08T14:03:27.000Z"
}
}
}
Was this page helpful?
⌘I

