curl --request PATCH \
--url https://api.deck.co/v2/event-destinations/{destination_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"status": "<string>",
"events": [
"<string>"
],
"filter": {},
"hookdeck": {
"token": "<string>"
}
}
'import requests
url = "https://api.deck.co/v2/event-destinations/{destination_id}"
payload = {
"name": "<string>",
"status": "<string>",
"events": ["<string>"],
"filter": {},
"hookdeck": { "token": "<string>" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
status: '<string>',
events: ['<string>'],
filter: {},
hookdeck: {token: '<string>'}
})
};
fetch('https://api.deck.co/v2/event-destinations/{destination_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.deck.co/v2/event-destinations/{destination_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'status' => '<string>',
'events' => [
'<string>'
],
'filter' => [
],
'hookdeck' => [
'token' => '<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.deck.co/v2/event-destinations/{destination_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"events\": [\n \"<string>\"\n ],\n \"filter\": {},\n \"hookdeck\": {\n \"token\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.deck.co/v2/event-destinations/{destination_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"events\": [\n \"<string>\"\n ],\n \"filter\": {},\n \"hookdeck\": {\n \"token\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deck.co/v2/event-destinations/{destination_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"events\": [\n \"<string>\"\n ],\n \"filter\": {},\n \"hookdeck\": {\n \"token\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "evtd_AbC123xYz456",
"object": "<string>",
"name": "<string>",
"status": "<string>",
"type": "webhook",
"events": [
"<string>"
],
"created_at": "2026-08-24T12:00:00Z",
"updated_at": "2026-08-24T12:00:00Z",
"filter": {},
"request_id": "<string>",
"test_endpoint": {
"inspect_url": "<string>"
},
"webhook": {
"url": "<string>"
},
"aws_sqs": {
"queue_url": "<string>"
},
"aws_kinesis": {
"stream_name": "<string>",
"region": "<string>"
},
"aws_s3": {
"bucket": "<string>",
"region": "<string>"
},
"aws_eventbridge": {
"region": "<string>",
"event_bus_name": "<string>"
},
"gcp_pubsub": {
"project_id": "<string>",
"topic": "<string>"
},
"rabbitmq": {
"exchange": "<string>",
"server_url": "<string>"
},
"azure_servicebus": {
"name": "<string>"
},
"hookdeck": {},
"cloudflare_queues": {
"account_id": "<string>",
"queue_id": "<string>"
}
}{
"errors": {},
"type": "<string>",
"title": "<string>",
"status": 123,
"traceId": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}Update an event destination
Updates an event destination’s name, status, or subscribed events. Only the fields you include in the request body are updated.
curl --request PATCH \
--url https://api.deck.co/v2/event-destinations/{destination_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"status": "<string>",
"events": [
"<string>"
],
"filter": {},
"hookdeck": {
"token": "<string>"
}
}
'import requests
url = "https://api.deck.co/v2/event-destinations/{destination_id}"
payload = {
"name": "<string>",
"status": "<string>",
"events": ["<string>"],
"filter": {},
"hookdeck": { "token": "<string>" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
status: '<string>',
events: ['<string>'],
filter: {},
hookdeck: {token: '<string>'}
})
};
fetch('https://api.deck.co/v2/event-destinations/{destination_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.deck.co/v2/event-destinations/{destination_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'status' => '<string>',
'events' => [
'<string>'
],
'filter' => [
],
'hookdeck' => [
'token' => '<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.deck.co/v2/event-destinations/{destination_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"events\": [\n \"<string>\"\n ],\n \"filter\": {},\n \"hookdeck\": {\n \"token\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.deck.co/v2/event-destinations/{destination_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"events\": [\n \"<string>\"\n ],\n \"filter\": {},\n \"hookdeck\": {\n \"token\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deck.co/v2/event-destinations/{destination_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"events\": [\n \"<string>\"\n ],\n \"filter\": {},\n \"hookdeck\": {\n \"token\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "evtd_AbC123xYz456",
"object": "<string>",
"name": "<string>",
"status": "<string>",
"type": "webhook",
"events": [
"<string>"
],
"created_at": "2026-08-24T12:00:00Z",
"updated_at": "2026-08-24T12:00:00Z",
"filter": {},
"request_id": "<string>",
"test_endpoint": {
"inspect_url": "<string>"
},
"webhook": {
"url": "<string>"
},
"aws_sqs": {
"queue_url": "<string>"
},
"aws_kinesis": {
"stream_name": "<string>",
"region": "<string>"
},
"aws_s3": {
"bucket": "<string>",
"region": "<string>"
},
"aws_eventbridge": {
"region": "<string>",
"event_bus_name": "<string>"
},
"gcp_pubsub": {
"project_id": "<string>",
"topic": "<string>"
},
"rabbitmq": {
"exchange": "<string>",
"server_url": "<string>"
},
"azure_servicebus": {
"name": "<string>"
},
"hookdeck": {},
"cloudflare_queues": {
"account_id": "<string>",
"queue_id": "<string>"
}
}{
"errors": {},
"type": "<string>",
"title": "<string>",
"status": 123,
"traceId": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}Headers
Optional key that makes the request idempotent. Retrying with the same key returns the original response instead of repeating the operation; keys expire after 24 hours. Any string up to 256 characters. See Idempotency.
256"550e8400-e29b-41d4-a716-446655440000"
Path Parameters
Body
Request body for updating an event destination. Only include fields you want to change. To change endpoint configuration or credentials, include the configuration object whose property name matches the destination's existing type.
Replaces the destination's content filter. Omit to keep the current filter. Send null or {} to remove it. See Filtering events.
Response
OK
An event destination object representing an endpoint that receives platform events.
Destination type. The endpoint configuration is returned under a property whose name equals this value (for example, a webhook destination returns a webhook object).
webhook, aws_sqs, aws_kinesis, aws_s3, aws_eventbridge, gcp_pubsub, rabbitmq, azure_servicebus, hookdeck, cloudflare_queues Was this page helpful?