Get Advanced Webhook Endpoint Secret
curl --request POST \
--url https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get \
--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>"
}
}
'import requests
url = "https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get"
payload = { "data": { "endpointId": "<string>" } }
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>'}})
};
fetch('https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get', 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/secret/get",
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>'
]
]),
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/secret/get"
payload := strings.NewReader("{\n \"data\": {\n \"endpointId\": \"<string>\"\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/secret/get")
.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 }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get")
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 }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Advanced webhook endpoint secret retrieved successfully.",
"data": {
"endpointId": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw"
}
}
}
Advanced Webhooks
Get Advanced Webhook Endpoint Secret
POST
/
v2
/
workspace
/
advancedwebhook
/
endpoints
/
secret
/
get
Get Advanced Webhook Endpoint Secret
curl --request POST \
--url https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get \
--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>"
}
}
'import requests
url = "https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get"
payload = { "data": { "endpointId": "<string>" } }
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>'}})
};
fetch('https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get', 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/secret/get",
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>'
]
]),
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/secret/get"
payload := strings.NewReader("{\n \"data\": {\n \"endpointId\": \"<string>\"\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/secret/get")
.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 }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get")
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 }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Advanced webhook endpoint secret retrieved successfully.",
"data": {
"endpointId": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw"
}
}
}
Use this API to retrieve the signing secret for a webhook delivery endpoint. Use the secret to verify the signature of webhook payloads delivered to your endpoint.
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.The signing secret grants the ability to forge webhook payloads that pass signature verification. Store it securely (e.g. in a secrets manager) and never expose it in client-side code.
Endpoint
POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get
Headers
Your API key.
Your Auth Token.
Body
Params
Show properties
Show properties
The ID of the endpoint whose signing secret to retrieve (returned by the create and list endpoints).
Example Request
{
"data": {
"endpointId": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo"
}
}
Example Response
Success Response
{
"result": {
"status": "success",
"message": "Advanced webhook endpoint secret retrieved successfully.",
"data": {
"endpointId": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw"
}
}
}
Failure Response
{
"error": {
"status": "NOT_FOUND",
"message": "Advanced webhook provider request failed."
}
}
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 secret retrieved successfully.",
"data": {
"endpointId": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
"secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw"
}
}
}
Was this page helpful?
⌘I

