---
title: "Get Destination Attempt"
method: GET
path: "/tenants/{tenant_id}/destinations/{destination_id}/attempts/{attempt_id}"
tags: ["Destinations"]
---

# Get Destination Attempt

`GET /tenants/{tenant_id}/destinations/{destination_id}/attempts/{attempt_id}`

## Request

- Base URL: `https://api.outpost.hookdeck.com/2025-07-01`
- URL: `https://api.outpost.hookdeck.com/2025-07-01/tenants/{tenant_id}/destinations/{destination_id}/attempts/{attempt_id}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Retrieves details for a specific attempt scoped to a destination.

Returns `404` if the destination does not exist or has been deleted, or if the destination has no attempt with this ID. An attempt of a deleted destination remains available from `GET /attempts/{attempt_id}`.

## Query parameters

- `include` union
  - string
  - string[]

## Response `200`

Attempt details.

- Attempt: An attempt represents a single delivery attempt of an event to a destination.
  - `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).
  - `latency_ms` integer, nullable: Time in milliseconds from sending the attempt to receiving the destination's response (or the error), measured around the provider's publish call. Null for attempts that never reached the provider and for attempts recorded before latency was tracked.
  - `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` AttemptDestination: The destination an attempt was sent to, without credentials. Use the destination endpoints to retrieve credentials.
    - `id` string, required: Control plane generated ID or user provided ID for the destination.
    - `tenant_id` string, required: The tenant the destination belongs to.
    - `type` string, 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.
    - `config` object, required: Type-specific destination configuration.
    - `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.
    - `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.
    - `target` string, required: 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. Read-only.

## Other responses

- `401`: Missing or invalid authentication credentials.
- `403`: The credentials are valid but not allowed to perform the request.
- `404`: Requested resource not found.
- `500`: Unexpected server error.

## Changes

- **2026-10-02** `245bc66dbe5a`: 1 info
  - added the non-success response with the status `403`
- **2026-09-28** `c7b12e3724c0`: 1 breaking, 15 info
  - the `destination` response's property type changed from no type to `object` for status `200`
  - added the optional property `destination/delivery_metadata` to the response with the `200` status
  - added the optional property `destination/filter` to the response with the `200` status
  - added the optional property `destination/metadata` to the response with the `200` status
  - …12 more
- **2026-09-23** `00e66862a43b`: 1 info
  - added the optional property `latency_ms` to the response with the `200` status
- **2026-04-30** `4e68e64777ea`: 1 breaking, 1 info
  - added `#/components/schemas/DestinationKafka` to the `destination` response property `oneOf` list for the response status `200`
  - added `kafka` discriminator mapping keys to the `destination` response property for the response status `200`
- **2026-03-23** `a50084968a4a`: 2 breaking, 1 info
  - the response property `event` became nullable for the status `200`
  - the response property `response_data` became nullable for the status `200`
  - added the optional property `destination` to the response with the `200` status

[Operation history](https://skmtc.dev/hookdeck/apis/outpost-api/changes/tenants/:tenant_id/destinations/:destination_id/attempts/:attempt_id/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)
