curl --request PUT \
--url https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"endpoint_url": "<string>",
"events": {
"commit_created": false,
"merge_created": false,
"review_created": false,
"review_merged": false
},
"active": true,
"branches": [
"<string>"
]
}
'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}"
payload = {
"name": "<string>",
"description": "<string>",
"endpoint_url": "<string>",
"events": {
"commit_created": False,
"merge_created": False,
"review_created": False,
"review_merged": False
},
"active": True,
"branches": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
endpoint_url: '<string>',
events: {
commit_created: false,
merge_created: false,
review_created: false,
review_merged: false
},
active: true,
branches: ['<string>']
})
};
fetch('https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}', 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.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'endpoint_url' => '<string>',
'events' => [
'commit_created' => false,
'merge_created' => false,
'review_created' => false,
'review_merged' => false
],
'active' => true,
'branches' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"endpoint_url\": \"<string>\",\n \"events\": {\n \"commit_created\": false,\n \"merge_created\": false,\n \"review_created\": false,\n \"review_merged\": false\n },\n \"active\": true,\n \"branches\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <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.put("https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"endpoint_url\": \"<string>\",\n \"events\": {\n \"commit_created\": false,\n \"merge_created\": false,\n \"review_created\": false,\n \"review_merged\": false\n },\n \"active\": true,\n \"branches\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"endpoint_url\": \"<string>\",\n \"events\": {\n \"commit_created\": false,\n \"merge_created\": false,\n \"review_created\": false,\n \"review_merged\": false\n },\n \"active\": true,\n \"branches\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "dv.webhook.12345678-1234-1234-1234-123456789abc",
"name": "My CI/CD Webhook",
"endpoint_url": "https://api.example.com/webhooks/diversion",
"events": {
"commit_created": false,
"merge_created": false,
"review_created": false,
"review_merged": false
},
"active": true,
"created_unix": 1672531200,
"updated_unix": 1672531200,
"description": "<string>",
"secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw",
"branches": [
"main",
"develop"
]
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}Update webhook
Update an existing webhook configuration
curl --request PUT \
--url https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"endpoint_url": "<string>",
"events": {
"commit_created": false,
"merge_created": false,
"review_created": false,
"review_merged": false
},
"active": true,
"branches": [
"<string>"
]
}
'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}"
payload = {
"name": "<string>",
"description": "<string>",
"endpoint_url": "<string>",
"events": {
"commit_created": False,
"merge_created": False,
"review_created": False,
"review_merged": False
},
"active": True,
"branches": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
endpoint_url: '<string>',
events: {
commit_created: false,
merge_created: false,
review_created: false,
review_merged: false
},
active: true,
branches: ['<string>']
})
};
fetch('https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}', 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.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'endpoint_url' => '<string>',
'events' => [
'commit_created' => false,
'merge_created' => false,
'review_created' => false,
'review_merged' => false
],
'active' => true,
'branches' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"endpoint_url\": \"<string>\",\n \"events\": {\n \"commit_created\": false,\n \"merge_created\": false,\n \"review_created\": false,\n \"review_merged\": false\n },\n \"active\": true,\n \"branches\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <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.put("https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"endpoint_url\": \"<string>\",\n \"events\": {\n \"commit_created\": false,\n \"merge_created\": false,\n \"review_created\": false,\n \"review_merged\": false\n },\n \"active\": true,\n \"branches\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/webhooks/{webhook_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"endpoint_url\": \"<string>\",\n \"events\": {\n \"commit_created\": false,\n \"merge_created\": false,\n \"review_created\": false,\n \"review_merged\": false\n },\n \"active\": true,\n \"branches\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "dv.webhook.12345678-1234-1234-1234-123456789abc",
"name": "My CI/CD Webhook",
"endpoint_url": "https://api.example.com/webhooks/diversion",
"events": {
"commit_created": false,
"merge_created": false,
"review_created": false,
"review_merged": false
},
"active": true,
"created_unix": 1672531200,
"updated_unix": 1672531200,
"description": "<string>",
"secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw",
"branches": [
"main",
"develop"
]
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}Authorizations
This API uses OAuth 2 with the implicit grant flow
Path Parameters
The repo ID of the repository. Repo name can be used instead of the ID, but usage of ID for permanent linking and API requests is preferred.
3 - 128"example_id"
The webhook ID
10 - 128Body
Request to update an existing webhook
User-friendly name for the webhook
1 - 255Optional description of the webhook
1024The URL where webhook events will be sent
2048Specifies which repository events will trigger HTTP POST requests to the webhook endpoint
Show child attributes
Show child attributes
Whether the webhook should be active
Optional list of branch names to filter events for. If empty or not provided, events fire for all branches. Send an empty array to clear branch filtering.
Response
Webhook updated successfully
A webhook configuration for a repository
Unique identifier for the webhook
"dv.webhook.12345678-1234-1234-1234-123456789abc"
User-friendly name for the webhook
1 - 255"My CI/CD Webhook"
The URL where webhook events will be sent
2048"https://api.example.com/webhooks/diversion"
Specifies which repository events will trigger HTTP POST requests to the webhook endpoint
Show child attributes
Show child attributes
Whether the webhook is active or not
Unix timestamp when the webhook was created
1672531200
Unix timestamp when the webhook was last updated
1672531200
Optional description of the webhook
1024The webhook secret for verifying signatures (only returned on creation)
"whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw"
Optional list of branch names to filter events for. If empty or not provided, events fire for all branches.
["main", "develop"]

