Create webhook endpoint
curl --request POST \
--url https://api.truthlocks.com/v1/webhooks/endpoints \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"url": "<string>",
"event_filters": [
"<string>"
]
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', url: '<string>', event_filters: ['<string>']})
};
fetch('https://api.truthlocks.com/v1/webhooks/endpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/webhooks/endpoints"
payload = {
"name": "<string>",
"url": "<string>",
"event_filters": ["<string>"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/webhooks/endpoints"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"event_filters\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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))
}{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"status": "<string>",
"secret": "<string>",
"event_filters": [
"<string>"
],
"created_at": "<string>"
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Webhooks
Create webhook endpoint
Registers a new webhook endpoint for the authenticated tenant.
POST
/
v1
/
webhooks
/
endpoints
Create webhook endpoint
curl --request POST \
--url https://api.truthlocks.com/v1/webhooks/endpoints \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"url": "<string>",
"event_filters": [
"<string>"
]
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', url: '<string>', event_filters: ['<string>']})
};
fetch('https://api.truthlocks.com/v1/webhooks/endpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/webhooks/endpoints"
payload = {
"name": "<string>",
"url": "<string>",
"event_filters": ["<string>"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/webhooks/endpoints"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"event_filters\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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))
}{
"id": "<string>",
"name": "<string>",
"url": "<string>",
"status": "<string>",
"secret": "<string>",
"event_filters": [
"<string>"
],
"created_at": "<string>"
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Registers a new webhook endpoint for the authenticated tenant. The endpoint receives HTTP POST requests when matching events occur. The endpoint secret is returned once in the response — store it securely.
The number of webhook endpoints you can create depends on your billing plan. If you exceed your plan limit, the API returns
402 Payment Required.Responses
The
secret field is only returned in the creation response. Store it securely — you cannot retrieve it later. If you lose it, rotate the secret to generate a new one.Authorizations
API key for machine-to-machine authentication
Body
application/json

