---
title: "List Operator Event Destinations"
method: GET
path: "/operator-events/destinations"
tags: ["Operator Events"]
---

# List Operator Event Destinations

`GET /operator-events/destinations`

## Request

- Base URL: `https://api.outpost.hookdeck.com/2025-07-01`
- URL: `https://api.outpost.hookdeck.com/2025-07-01/operator-events/destinations`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Returns every operator event destination configured for this deployment.

The response is a plain array, not a paginated result. A project that has never had an
operator event destination may answer 404 `tenant not found` instead of an empty array.

This endpoint is only available on managed Outpost.

## Response `200`

A list of operator event destinations.

- Destination[]
  - union
    - DestinationWebhook
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'webhook', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` WebhookConfig, required
        - `url` string, url, required: The URL to send the webhook events to.
        - `custom_headers` string: JSON string of custom HTTP headers to include with every webhook request. Header names must be valid HTTP header tokens (alphanumeric, hyphens, underscores). Reserved headers (Content-Type, Host, etc.) cannot be overridden.
      - `credentials` WebhookCredentials, required
        - `secret` string: The secret used for signing webhook requests. Auto-generated if omitted on creation by admin. Read-only for tenants unless rotating.
        - `previous_secret` string: The previous secret used during rotation. Valid for 24 hours by default. Read-only.
        - `previous_secret_invalid_at` string, date-time: ISO timestamp when the previous secret becomes invalid. Read-only.
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (e.g., URL host). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (the webhook URL). Read-only.
    - DestinationHookdeck
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'hookdeck', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time: ISO Date when the destination was last updated.
      - `config` unknown
      - `credentials` HookdeckCredentials, required
        - `token` string, required: Hookdeck authentication token.
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (Hookdeck). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (e.g., Hookdeck dashboard). Read-only.
    - DestinationAWSSQS
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'aws_sqs', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` AWSSQSConfig, required
        - `endpoint` string, url: Optional. Custom AWS endpoint URL (e.g., for LocalStack or specific regions).
        - `queue_url` string, url, required: The URL of the SQS queue.
      - `credentials` AWSSQSCredentials, required
        - `key` string, required: AWS Access Key ID.
        - `secret` string, required: AWS Secret Access Key.
        - `session` string: Optional AWS Session Token (for temporary credentials).
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (SQS queue name). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (AWS Console link to the queue). Read-only.
    - DestinationAWSKinesis
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'aws_kinesis', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` AWSKinesisConfig, required
        - `stream_name` string, required: The name of the AWS Kinesis stream.
        - `region` string, required: The AWS region where the Kinesis stream is located.
        - `endpoint` string, url: Optional. Custom AWS endpoint URL (e.g., for LocalStack or VPC endpoints).
        - `partition_key_template` string: Optional. JMESPath template to extract the partition key from the event payload (e.g., `metadata."event-id"`). Defaults to event ID.
      - `credentials` AWSKinesisCredentials, required
        - `key` string, required: AWS Access Key ID.
        - `secret` string, required: AWS Secret Access Key.
        - `session` string: Optional AWS Session Token (for temporary credentials).
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (Kinesis stream name). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (AWS Console link to the stream). Read-only.
    - DestinationAWSS3
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'aws_s3', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` AWSS3Config, required
        - `bucket` string, required: The name of your AWS S3 bucket.
        - `region` string, required: The AWS region where your bucket is located.
        - `key_template` string: JMESPath expression for generating S3 object keys. Default is join('', [time.rfc3339_nano, '_', metadata."event-id", '.json']).
        - `storage_class` string: The storage class for the S3 objects (e.g., STANDARD, INTELLIGENT_TIERING, GLACIER, etc.). Defaults to "STANDARD".
      - `credentials` AWSS3Credentials, required
        - `key` string, required: AWS Access Key ID.
        - `secret` string, required: AWS Secret Access Key.
        - `session` string: Optional AWS Session Token (for temporary credentials).
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (bucket and region). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (AWS Console link to the bucket). Read-only.
    - DestinationRabbitMQ
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'rabbitmq', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` RabbitMQConfig, required
        - `server_url` string, required: RabbitMQ server address (host:port).
        - `exchange` string, required: The exchange to publish messages to.
        - `tls` 'true' | 'false': Whether to use TLS connection (amqps). Defaults to "false".
      - `credentials` RabbitMQCredentials, required
        - `username` string, required: RabbitMQ username.
        - `password` string, required: RabbitMQ password.
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (RabbitMQ exchange). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (not applicable for RabbitMQ exchange). Read-only.
    - DestinationAzureServiceBus
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'azure_servicebus', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time: ISO Date when the destination was last updated.
      - `config` AzureServiceBusConfig, required
        - `name` string, required: The name of the Azure Service Bus queue or topic to publish messages to.
      - `credentials` AzureServiceBusCredentials, required
        - `connection_string` string, required: The connection string for the Azure Service Bus namespace.
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (Azure Service Bus queue/topic name). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (Azure Portal link to the Service Bus). Read-only.
    - DestinationGCPPubSub
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'gcp_pubsub', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` GCPPubSubConfig, required
        - `project_id` string, required: The GCP project ID.
        - `topic` string, required: The Pub/Sub topic name.
        - `endpoint` string: Optional. Custom endpoint URL (e.g., localhost:8085 for emulator).
      - `credentials` GCPPubSubCredentials, required
        - `service_account_json` string, required: Service account key JSON. The entire JSON key file content as a string.
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (project/topic). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (GCP Console link to the topic). Read-only.
    - DestinationKafka
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'kafka', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` KafkaConfig, required
        - `brokers` string, required: Comma-separated list of Kafka broker addresses.
        - `topic` string, required: The Kafka topic to publish messages to.
        - `sasl_mechanism` 'plain' | 'scram-sha-256' | 'scram-sha-512', required: SASL authentication mechanism.
        - `tls` 'true' | 'false': Whether to enable TLS for the connection.
        - `partition_key_template` string: Optional JMESPath template to extract the partition key from the event payload. Defaults to the event ID.
      - `credentials` KafkaCredentials, required
        - `username` string, required: SASL username for authentication.
        - `password` string, required: SASL password for authentication.
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (broker and topic). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target. Read-only.
    - DestinationCloudflareQueues
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'cloudflare_queues', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` CloudflareQueuesConfig, required
        - `account_id` string, required: Cloudflare Account ID (32-character hex string).
        - `queue_id` string, required: Cloudflare Queue ID (32-character hex string, not the queue name).
      - `credentials` CloudflareQueuesCredentials, required
        - `api_token` string, required: Cloudflare API Token with the Account > Queues > Edit (Queues Write) permission, scoped to the target account.
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (Cloudflare Queue ID). Read-only.
      - `target_url` string, url, nullable: A URL link to the Cloudflare dashboard queues list for the account. Read-only.
    - DestinationAWSEventBridge
      - `id` string, required: Control plane generated ID or user provided ID for the destination.
      - `type` 'aws_eventbridge', required: Type of the destination.
      - `topics` union, required: "*" or an array of enabled topics. Topic strings can include "*" as a wildcard matching any run of characters. When available topics are configured, wildcard patterns must match at least one available topic.
        - '*'
        - string[]
      - `filter` Filter, nullable: Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not. If null or empty, all events matching the topic filter will be delivered. Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
      - `disabled_at` string, date-time, nullable, required: ISO Date when the destination was disabled, or null if enabled.
      - `created_at` string, date-time, required: ISO Date when the destination was created.
      - `updated_at` string, date-time, required: ISO Date when the destination was last updated.
      - `config` AWSEventBridgeConfig, required
        - `event_bus_name` string: Optional. The name or ARN of the EventBridge event bus. Defaults to the account's default event bus.
        - `region` string, required: The AWS region where the event bus is located.
        - `endpoint` string, url: Optional. Custom AWS endpoint URL (e.g., for LocalStack or VPC endpoints).
      - `credentials` AWSEventBridgeCredentials, required
        - `key` string, required: AWS Access Key ID.
        - `secret` string, required: AWS Secret Access Key.
        - `session` string: Optional AWS Session Token (for temporary credentials).
      - `delivery_metadata` object, nullable: Static key-value pairs merged into event metadata on every attempt.
      - `metadata` object, nullable: Arbitrary contextual information stored with the destination.
      - `target` string: A human-readable representation of the destination target (event bus name and region, or the event bus ARN). Read-only.
      - `target_url` string, url, nullable: A URL link to the destination target (AWS Console link to the event bus). Null when the event bus is given as an ARN. Read-only.

## Other responses

- `401`: Missing or invalid authentication credentials.
- `500`: Unexpected server error.

## Changes

- **2026-10-02** `a4ddd5c7a824`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hookdeck/apis/outpost-api/changes/operator-events/destinations/get.md)

---

[API](https://skmtc.dev/hookdeck/apis/outpost-api.md) - [All operations](https://skmtc.dev/hookdeck/apis/outpost-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hookdeck/apis/outpost-api/revisions/10262afe0dba?raw)
