curl --request POST \
--url https://api.swoogo.com/api/v1/webhook-groups/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'name=Sample Webhook Group' \
--data-urlencode 'headers%5B0%5D={
"key": "Authentication",
"value": "Bearer Token"
}' \
--data-urlencode 'headers%5B1%5D={
"key": "Content-Type",
"value": "application/json"
}' \
--data notification_emails=test@email.comimport requests
url = "https://api.swoogo.com/api/v1/webhook-groups/create"
payload = {
"name": "Sample Webhook Group",
"headers[0]": "{
\"key\": \"Authentication\",
\"value\": \"Bearer Token\"
}",
"headers[1]": "{
\"key\": \"Content-Type\",
\"value\": \"application/json\"
}",
"notification_emails": "test@email.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
name: 'Sample Webhook Group',
'headers[0]': '{\n "key": "Authentication",\n "value": "Bearer Token"\n}',
'headers[1]': '{\n "key": "Content-Type",\n "value": "application/json"\n}',
notification_emails: 'test@email.com'
})
};
fetch('https://api.swoogo.com/api/v1/webhook-groups/create', 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.swoogo.com/api/v1/webhook-groups/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "name=Sample%20Webhook%20Group&headers%5B0%5D=%7B%0A%20%20%22key%22%3A%20%22Authentication%22%2C%0A%20%20%22value%22%3A%20%22Bearer%20Token%22%0A%7D&headers%5B1%5D=%7B%0A%20%20%22key%22%3A%20%22Content-Type%22%2C%0A%20%20%22value%22%3A%20%22application%2Fjson%22%0A%7D¬ification_emails=test%40email.com",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/x-www-form-urlencoded"
],
]);
$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.swoogo.com/api/v1/webhook-groups/create"
payload := strings.NewReader("name=Sample%20Webhook%20Group&headers%5B0%5D=%7B%0A%20%20%22key%22%3A%20%22Authentication%22%2C%0A%20%20%22value%22%3A%20%22Bearer%20Token%22%0A%7D&headers%5B1%5D=%7B%0A%20%20%22key%22%3A%20%22Content-Type%22%2C%0A%20%20%22value%22%3A%20%22application%2Fjson%22%0A%7D¬ification_emails=test%40email.com")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
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.swoogo.com/api/v1/webhook-groups/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("name=Sample%20Webhook%20Group&headers%5B0%5D=%7B%0A%20%20%22key%22%3A%20%22Authentication%22%2C%0A%20%20%22value%22%3A%20%22Bearer%20Token%22%0A%7D&headers%5B1%5D=%7B%0A%20%20%22key%22%3A%20%22Content-Type%22%2C%0A%20%20%22value%22%3A%20%22application%2Fjson%22%0A%7D¬ification_emails=test%40email.com")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swoogo.com/api/v1/webhook-groups/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "name=Sample%20Webhook%20Group&headers%5B0%5D=%7B%0A%20%20%22key%22%3A%20%22Authentication%22%2C%0A%20%20%22value%22%3A%20%22Bearer%20Token%22%0A%7D&headers%5B1%5D=%7B%0A%20%20%22key%22%3A%20%22Content-Type%22%2C%0A%20%20%22value%22%3A%20%22application%2Fjson%22%0A%7D¬ification_emails=test%40email.com"
response = http.request(request)
puts response.read_body{
"name": "Sample Webhook Group",
"headers": [
{
"key": "Authentication",
"value": "Bearer Token"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"notification_emails": [
"notify@example.com",
"test@example.com"
]
}{
"name": "Unauthorized",
"message": "Your request was made with invalid credentials.",
"code": 0,
"status": 401
}{
"name": "Forbidden",
"message": "You do not have access to that resource.",
"code": 0,
"status": 403
}{
"name": "Not Found",
"message": "The requested resource does not exist.",
"code": 0,
"status": 404
}{
"name": "Internal Server Error",
"message": "An error occurred while processing your request.",
"code": 0,
"status": 500
}Create Webhook Group
Creates a new webhook group. Specify the group name and assign it to one or more events. After creating the group, use the Create Webhook endpoint to add individual webhook configurations to it.
curl --request POST \
--url https://api.swoogo.com/api/v1/webhook-groups/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'name=Sample Webhook Group' \
--data-urlencode 'headers%5B0%5D={
"key": "Authentication",
"value": "Bearer Token"
}' \
--data-urlencode 'headers%5B1%5D={
"key": "Content-Type",
"value": "application/json"
}' \
--data notification_emails=test@email.comimport requests
url = "https://api.swoogo.com/api/v1/webhook-groups/create"
payload = {
"name": "Sample Webhook Group",
"headers[0]": "{
\"key\": \"Authentication\",
\"value\": \"Bearer Token\"
}",
"headers[1]": "{
\"key\": \"Content-Type\",
\"value\": \"application/json\"
}",
"notification_emails": "test@email.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
name: 'Sample Webhook Group',
'headers[0]': '{\n "key": "Authentication",\n "value": "Bearer Token"\n}',
'headers[1]': '{\n "key": "Content-Type",\n "value": "application/json"\n}',
notification_emails: 'test@email.com'
})
};
fetch('https://api.swoogo.com/api/v1/webhook-groups/create', 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.swoogo.com/api/v1/webhook-groups/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "name=Sample%20Webhook%20Group&headers%5B0%5D=%7B%0A%20%20%22key%22%3A%20%22Authentication%22%2C%0A%20%20%22value%22%3A%20%22Bearer%20Token%22%0A%7D&headers%5B1%5D=%7B%0A%20%20%22key%22%3A%20%22Content-Type%22%2C%0A%20%20%22value%22%3A%20%22application%2Fjson%22%0A%7D¬ification_emails=test%40email.com",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/x-www-form-urlencoded"
],
]);
$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.swoogo.com/api/v1/webhook-groups/create"
payload := strings.NewReader("name=Sample%20Webhook%20Group&headers%5B0%5D=%7B%0A%20%20%22key%22%3A%20%22Authentication%22%2C%0A%20%20%22value%22%3A%20%22Bearer%20Token%22%0A%7D&headers%5B1%5D=%7B%0A%20%20%22key%22%3A%20%22Content-Type%22%2C%0A%20%20%22value%22%3A%20%22application%2Fjson%22%0A%7D¬ification_emails=test%40email.com")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
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.swoogo.com/api/v1/webhook-groups/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("name=Sample%20Webhook%20Group&headers%5B0%5D=%7B%0A%20%20%22key%22%3A%20%22Authentication%22%2C%0A%20%20%22value%22%3A%20%22Bearer%20Token%22%0A%7D&headers%5B1%5D=%7B%0A%20%20%22key%22%3A%20%22Content-Type%22%2C%0A%20%20%22value%22%3A%20%22application%2Fjson%22%0A%7D¬ification_emails=test%40email.com")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swoogo.com/api/v1/webhook-groups/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "name=Sample%20Webhook%20Group&headers%5B0%5D=%7B%0A%20%20%22key%22%3A%20%22Authentication%22%2C%0A%20%20%22value%22%3A%20%22Bearer%20Token%22%0A%7D&headers%5B1%5D=%7B%0A%20%20%22key%22%3A%20%22Content-Type%22%2C%0A%20%20%22value%22%3A%20%22application%2Fjson%22%0A%7D¬ification_emails=test%40email.com"
response = http.request(request)
puts response.read_body{
"name": "Sample Webhook Group",
"headers": [
{
"key": "Authentication",
"value": "Bearer Token"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"notification_emails": [
"notify@example.com",
"test@example.com"
]
}{
"name": "Unauthorized",
"message": "Your request was made with invalid credentials.",
"code": 0,
"status": 401
}{
"name": "Forbidden",
"message": "You do not have access to that resource.",
"code": 0,
"status": 403
}{
"name": "Not Found",
"message": "The requested resource does not exist.",
"code": 0,
"status": 404
}{
"name": "Internal Server Error",
"message": "An error occurred while processing your request.",
"code": 0,
"status": 500
}Authorizations
OAuth 2.0 bearer token obtained from POST /oauth2/token. Tokens expire after 30 minutes. Include in the Authorization header as Bearer {access_token}.
Body
The name of the webhook group. This value must be unique.
"Sample Webhook Group"
A list of key-value pairs representing headers for the webhook group.
Show child attributes
Show child attributes
[
{
"key": "Authentication",
"value": "Bearer Token"
},
{
"key": "Content-Type",
"value": "application/json"
}
]
Notification email list for failure alerts.
A list of email addresses to be notified if any webhook within the group fails.
["notify@example.com", "test@example.com"]
Response
Create Object
The name of the webhook group. This value must be unique.
"Sample Webhook Group"
A list of key-value pairs representing headers for the webhook group.
Show child attributes
Show child attributes
[
{
"key": "Authentication",
"value": "Bearer Token"
},
{
"key": "Content-Type",
"value": "application/json"
}
]
Notification email list for failure alerts.
A list of email addresses to be notified if any webhook within the group fails.
["notify@example.com", "test@example.com"]