List Webhooks
curl --request GET \
--url https://app.wachat.net/api/v1/webhooks \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.wachat.net/api/v1/webhooks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.wachat.net/api/v1/webhooks', 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://app.wachat.net/api/v1/webhooks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <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"
"net/http"
"io"
)
func main() {
url := "https://app.wachat.net/api/v1/webhooks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.wachat.net/api/v1/webhooks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.wachat.net/api/v1/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"count": 1,
"webhooks": [
{
"id": 12,
"name": "Production webhook",
"url": "https://example.com/wachat/webhook",
"events": [
"messages.upsert",
"connection.update"
],
"enabled": true,
"secret": "whsec_••••abcdef",
"instance": {
"instanceName": "jakarta_store",
"displayName": "jakarta_store",
"apiInstanceName": "t1_mq9r2jov_jakarta_store",
"internalName": "t1_mq9r2jov_jakarta_store"
},
"createdAt": "2026-06-13T08:00:00.000Z",
"updatedAt": "2026-06-13T08:00:00.000Z"
}
]
}Webhooks
List Webhooks
Return webhook endpoints configured for the authenticated Wachat account. Optionally filter by API instance name.
GET
/
webhooks
List Webhooks
curl --request GET \
--url https://app.wachat.net/api/v1/webhooks \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.wachat.net/api/v1/webhooks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.wachat.net/api/v1/webhooks', 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://app.wachat.net/api/v1/webhooks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <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"
"net/http"
"io"
)
func main() {
url := "https://app.wachat.net/api/v1/webhooks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.wachat.net/api/v1/webhooks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.wachat.net/api/v1/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"count": 1,
"webhooks": [
{
"id": 12,
"name": "Production webhook",
"url": "https://example.com/wachat/webhook",
"events": [
"messages.upsert",
"connection.update"
],
"enabled": true,
"secret": "whsec_••••abcdef",
"instance": {
"instanceName": "jakarta_store",
"displayName": "jakarta_store",
"apiInstanceName": "t1_mq9r2jov_jakarta_store",
"internalName": "t1_mq9r2jov_jakarta_store"
},
"createdAt": "2026-06-13T08:00:00.000Z",
"updatedAt": "2026-06-13T08:00:00.000Z"
}
]
}Return webhook endpoints configured for your Wachat account.
Use
instanceName only when you want to filter webhooks for one specific apiInstanceName.
curl "https://app.wachat.net/api/v1/webhooks" \
-H "Authorization: Bearer YOUR_API_KEY"
curl "https://app.wachat.net/api/v1/webhooks?instanceName=t1_mq9r2jov_jakarta_store" \
-H "Authorization: Bearer YOUR_API_KEY"
Webhook secrets are masked in list responses. The full secret is returned when creating or updating a webhook.
Authorizations
Authenticate your integration payloads by injecting your premium secure Wachat Account API Private Secret Key inside standard Authorization Bearer header vectors.
Query Parameters
Optional API instance name to filter webhooks by instance.
⌘I
