---
title: "List Attempts"
method: GET
path: "/attempts"
tags: ["Attempts"]
---

# List Attempts

`GET /attempts`

Retrieves a paginated list of attempts.

When authenticated with a Tenant JWT, returns only attempts belonging to that tenant.
When authenticated with Admin API Key, returns attempts across all tenants. Use `tenant_id` query parameter to filter by tenant.

## Query parameters

- `tenant_id` union
  - string
  - string[]
- `event_id` union
  - string
  - string[]
- `destination_id` union
  - string
  - string[]
- `destination_type` union
  - 'webhook' | 'aws_sqs' | 'rabbitmq' | 'hookdeck' | 'aws_kinesis' | 'azure_servicebus' | 'aws_s3' | 'gcp_pubsub' — Type of destination.
  - DestinationType[]
- `status` 'success' | 'failed'
- `topic` union
  - string
  - string[]
- `time` Operator — Comparison operators for filtering by date-time values (RFC3339 or YYYY-MM-DD format).
  - `gte` string, date-time — Filter with value >= the specified date-time.
  - `lte` string, date-time — Filter with value <= the specified date-time.
  - `gt` string, date-time — Filter with value > the specified date-time.
  - `lt` string, date-time — Filter with value < the specified date-time.
- `limit` integer
- `next` string
- `prev` string
- `include` union
  - string
  - string[]
- `order_by` 'time'
- `dir` 'asc' | 'desc'

## Response `200`

A paginated list of attempts.

- AttemptPaginatedResult — Paginated list of attempts.
  - `pagination` SeekPagination — Cursor-based pagination metadata for list responses.
    - `order_by` string — The field being sorted on.
    - `dir` 'asc' | 'desc' — Sort direction.
    - `limit` integer — Page size limit.
    - `next` string, nullable — Cursor for the next page of results. Null if no more results.
    - `prev` string, nullable — Cursor for the previous page of results. Null if on first page.
  - `models` Attempt[] — Array of attempt objects.
    - `id` string — Unique identifier for this attempt.
    - `tenant_id` string — The tenant this attempt belongs to.
    - `status` 'success' | 'failed' — The attempt status.
    - `time` string, date-time — Time the attempt was made.
    - `code` string — Response status code or error code.
    - `response_data` object, nullable — Response data from the attempt. Only included when include=response_data.
    - `attempt_number` integer — The attempt number (1 for first attempt, 2+ for retries).
    - `manual` boolean — Whether this attempt was manually triggered (e.g., a retry initiated by a user).
    - `event_id` string — The ID of the associated event.
    - `destination_id` string — The destination ID this attempt was sent to.
    - `event` union — The associated event object. Only present when include=event or include=event.data.
      - EventFull — Full event object with data (returned when include=event.data).
        - `id` string
        - `tenant_id` string — The tenant this event belongs to.
        - `destination_id` string — The destination this event was delivered to.
        - `topic` string
        - `time` string, date-time — Time the event was received.
        - `eligible_for_retry` boolean — Whether this event can be retried.
        - `metadata` object, nullable
        - `data` object — The event payload data.
      - EventSummary — Event object without data (returned when include=event).
        - `id` string
        - `tenant_id` string — The tenant this event belongs to.
        - `destination_id` string — The destination this event was delivered to.
        - `topic` string
        - `time` string, date-time — Time the event was received.
        - `eligible_for_retry` boolean — Whether this event can be retried.
        - `metadata` object, nullable
    - `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.

## Other responses

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

---

[API](https://skmtc.net/hookdeck/apis/outpost-api.md) · [All operations](https://skmtc.net/hookdeck/apis/outpost-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hookdeck/outpost-api/revisions/506c7bcee34b/schema)
