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
Your API key.
Your Auth Token.
Body
Params
Show properties
Show properties
The ID of the endpoint to update (returned by the create and list endpoints).
The URL that will receive webhook events. Must be a valid
http(s) URL.Human-readable description of the endpoint.
Event types this endpoint subscribes to. Must be a non-empty array when provided. See Webhooks for the full list of event types.
Channels this endpoint listens to. Must be a non-empty array when provided.
Whether the endpoint is disabled. Disabled endpoints do not receive deliveries.
Maximum deliveries per second for this endpoint. Positive integer.
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

