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>"
],
"hookdeck": {
"token": "<string>"
}
}
'import requests
url = "https://api.deck.co/v2/event-destinations/{destination_id}"
payload = {
"name": "<string>",
"status": "<string>",
"events": ["<string>"],
"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>'],
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>'
],
'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 \"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 \"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 \"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",
"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>"
},
"gcp_pubsub": {
"project_id": "<string>",
"topic": "<string>"
},
"rabbitmq": {
"exchange": "<string>",
"server_url": "<string>"
},
"azure_servicebus": {
"name": "<string>"
},
"hookdeck": {}
}{
"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>"
],
"hookdeck": {
"token": "<string>"
}
}
'import requests
url = "https://api.deck.co/v2/event-destinations/{destination_id}"
payload = {
"name": "<string>",
"status": "<string>",
"events": ["<string>"],
"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>'],
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>'
],
'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 \"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 \"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 \"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",
"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>"
},
"gcp_pubsub": {
"project_id": "<string>",
"topic": "<string>"
},
"rabbitmq": {
"exchange": "<string>",
"server_url": "<string>"
},
"azure_servicebus": {
"name": "<string>"
},
"hookdeck": {}
}{
"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>"
}Authorizations
Secret key (sk_live_...)
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
Unique identifier for the event destination (prefixed with evtd_).
^evtd_"evtd_AbC123xYz456"
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.
Updated display name.
Updated status: active or inactive.
Updated list of subscribed event types (for example task_run.completed, credential.verified). Use ["*"] to subscribe to all event types; * cannot be combined with specific types, and the list must not be empty.
Configuration for a webhook destination. Provide this object under the webhook property when type is webhook.
Show child attributes
Show child attributes
Configuration for a aws_sqs destination. Provide this object under the aws_sqs property when type is aws_sqs.
Show child attributes
Show child attributes
Configuration for a aws_kinesis destination. Provide this object under the aws_kinesis property when type is aws_kinesis.
Show child attributes
Show child attributes
Configuration for a aws_s3 destination. Provide this object under the aws_s3 property when type is aws_s3.
Show child attributes
Show child attributes
Configuration for a gcp_pubsub destination. Provide this object under the gcp_pubsub property when type is gcp_pubsub.
Show child attributes
Show child attributes
Configuration for a rabbitmq destination. Provide this object under the rabbitmq property when type is rabbitmq.
Show child attributes
Show child attributes
Configuration for a azure_servicebus destination. Provide this object under the azure_servicebus property when type is azure_servicebus.
Show child attributes
Show child attributes
Configuration for a hookdeck destination. Provide this object under the hookdeck property when type is hookdeck.
Show child attributes
Show child attributes
Response
OK
An event destination object representing an endpoint that receives platform events.
Unique identifier for the event destination, prefixed with evtd_.
^evtd_"evtd_AbC123xYz456"
Always event_destination.
Display name for the event destination.
Destination status: pending_verification, active, or inactive.
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, gcp_pubsub, rabbitmq, azure_servicebus, hookdeck Event types this destination is subscribed to.
ISO 8601 timestamp of when the resource was created.
"2026-08-24T12:00:00Z"
ISO 8601 timestamp of when the resource was last updated.
"2026-08-24T12:00:00Z"
Unique identifier for the API request. Include this when contacting support.
Present when the destination is a webhook backed by a disposable Hookdeck Console test endpoint created in the Console. Read-only.
Show child attributes
Show child attributes
Configuration returned for a webhook destination (credentials are never returned).
Show child attributes
Show child attributes
Configuration returned for a aws_sqs destination (credentials are never returned).
Show child attributes
Show child attributes
Configuration returned for a aws_kinesis destination (credentials are never returned).
Show child attributes
Show child attributes
Configuration returned for a aws_s3 destination (credentials are never returned).
Show child attributes
Show child attributes
Configuration returned for a gcp_pubsub destination (credentials are never returned).
Show child attributes
Show child attributes
Configuration returned for a rabbitmq destination (credentials are never returned).
Show child attributes
Show child attributes
Configuration returned for a azure_servicebus destination (credentials are never returned).
Show child attributes
Show child attributes
Configuration returned for a hookdeck destination (credentials are never returned).
Was this page helpful?