Create Webhook
curl --request POST \
--url https://apimgmt.cometchat.io/apps/{appId}/webhooks \
--header 'Content-Type: application/json' \
--header 'key: <key>' \
--header 'secret: <secret>' \
--data '
{
"id": "<string>",
"name": "<string>",
"webhookURL": "<string>",
"useBasicAuth": true,
"username": "<string>",
"password": "<string>",
"enabled": true,
"retryOnFailure": false
}
'import requests
url = "https://apimgmt.cometchat.io/apps/{appId}/webhooks"
payload = {
"id": "<string>",
"name": "<string>",
"webhookURL": "<string>",
"useBasicAuth": True,
"username": "<string>",
"password": "<string>",
"enabled": True,
"retryOnFailure": False
}
headers = {
"key": "<key>",
"secret": "<secret>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {key: '<key>', secret: '<secret>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '<string>',
name: '<string>',
webhookURL: '<string>',
useBasicAuth: true,
username: '<string>',
password: '<string>',
enabled: true,
retryOnFailure: false
})
};
fetch('https://apimgmt.cometchat.io/apps/{appId}/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://apimgmt.cometchat.io/apps/{appId}/webhooks",
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([
'id' => '<string>',
'name' => '<string>',
'webhookURL' => '<string>',
'useBasicAuth' => true,
'username' => '<string>',
'password' => '<string>',
'enabled' => true,
'retryOnFailure' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"key: <key>",
"secret: <secret>"
],
]);
$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://apimgmt.cometchat.io/apps/{appId}/webhooks"
payload := strings.NewReader("{\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"webhookURL\": \"<string>\",\n \"useBasicAuth\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\",\n \"enabled\": true,\n \"retryOnFailure\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("key", "<key>")
req.Header.Add("secret", "<secret>")
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://apimgmt.cometchat.io/apps/{appId}/webhooks")
.header("key", "<key>")
.header("secret", "<secret>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"webhookURL\": \"<string>\",\n \"useBasicAuth\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\",\n \"enabled\": true,\n \"retryOnFailure\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apimgmt.cometchat.io/apps/{appId}/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["key"] = '<key>'
request["secret"] = '<secret>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"webhookURL\": \"<string>\",\n \"useBasicAuth\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\",\n \"enabled\": true,\n \"retryOnFailure\": false\n}"
response = http.request(request)
puts response.read_body[
{
"data": {
"id": "test_webhook201",
"name": "test_webhook201",
"webhookURL": "https://example.com/test",
"createdAt": 1684141151,
"updatedAt": 1684141151
}
}
]Webhooks
Create Webhook
Creates webhook in an app.
POST
/
apps
/
{appId}
/
webhooks
Create Webhook
curl --request POST \
--url https://apimgmt.cometchat.io/apps/{appId}/webhooks \
--header 'Content-Type: application/json' \
--header 'key: <key>' \
--header 'secret: <secret>' \
--data '
{
"id": "<string>",
"name": "<string>",
"webhookURL": "<string>",
"useBasicAuth": true,
"username": "<string>",
"password": "<string>",
"enabled": true,
"retryOnFailure": false
}
'import requests
url = "https://apimgmt.cometchat.io/apps/{appId}/webhooks"
payload = {
"id": "<string>",
"name": "<string>",
"webhookURL": "<string>",
"useBasicAuth": True,
"username": "<string>",
"password": "<string>",
"enabled": True,
"retryOnFailure": False
}
headers = {
"key": "<key>",
"secret": "<secret>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {key: '<key>', secret: '<secret>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '<string>',
name: '<string>',
webhookURL: '<string>',
useBasicAuth: true,
username: '<string>',
password: '<string>',
enabled: true,
retryOnFailure: false
})
};
fetch('https://apimgmt.cometchat.io/apps/{appId}/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://apimgmt.cometchat.io/apps/{appId}/webhooks",
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([
'id' => '<string>',
'name' => '<string>',
'webhookURL' => '<string>',
'useBasicAuth' => true,
'username' => '<string>',
'password' => '<string>',
'enabled' => true,
'retryOnFailure' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"key: <key>",
"secret: <secret>"
],
]);
$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://apimgmt.cometchat.io/apps/{appId}/webhooks"
payload := strings.NewReader("{\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"webhookURL\": \"<string>\",\n \"useBasicAuth\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\",\n \"enabled\": true,\n \"retryOnFailure\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("key", "<key>")
req.Header.Add("secret", "<secret>")
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://apimgmt.cometchat.io/apps/{appId}/webhooks")
.header("key", "<key>")
.header("secret", "<secret>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"webhookURL\": \"<string>\",\n \"useBasicAuth\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\",\n \"enabled\": true,\n \"retryOnFailure\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apimgmt.cometchat.io/apps/{appId}/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["key"] = '<key>'
request["secret"] = '<secret>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"webhookURL\": \"<string>\",\n \"useBasicAuth\": true,\n \"username\": \"<string>\",\n \"password\": \"<string>\",\n \"enabled\": true,\n \"retryOnFailure\": false\n}"
response = http.request(request)
puts response.read_body[
{
"data": {
"id": "test_webhook201",
"name": "test_webhook201",
"webhookURL": "https://example.com/test",
"createdAt": 1684141151,
"updatedAt": 1684141151
}
}
]Headers
Authorization Key
Authorization Secret
The "X-Webhook-Version" header is an optional integer property.When this header is omitted from the request, the system defaults to the legacy webhook, ensuring backward compatibility and seamless operation.Conversely, setting the value of this header to "2" indicates the preference for the new webhook implementation.
Path Parameters
AppID in which the extension has to be enabled/disabled
Body
application/json
Id of the Webhook.
name of the Webhook.
Webhook URL of the app
Boolean value for Basic Auth.
Username of the user
Password of the user
Webhook should be enabled/ disabled
Enables automatic retries for failed webhook deliveries due to non-2xx HTTP responses or network errors.
Response
200 - application/json
Created Webhook
Show child attributes
Show child attributes
⌘I