---
title: "Retry a request"
method: POST
path: "/requests/{id}/retry"
tags: ["Requests"]
---

# Retry a request

`POST /requests/{id}/retry`

This endpoint retries a specific request. Retrying a request creates new events based on the request for the specified connections (or all matching connections if none specified).

## Path parameters

- `id` string, required — Request ID

## Request body

- object
  - `webhook_ids` string[] — Subset of connection (webhook) IDs to re-run the event logic on. Useful to retry only specific ignored_events. If left empty, all connection (webhook) IDs will be considered.

## Response `200`

Retry request operation result

- RetryRequest
  - `request` Request, required
    - `id` string, required — ID of the request
    - `team_id` string, required — ID of the project
    - `verified` boolean, nullable, required — Whether or not the request was verified when received
    - `original_event_data_id` string, nullable, required — ID of the request data
    - `rejection_cause` 'SOURCE_DISABLED' | 'NO_CONNECTION' | 'VERIFICATION_FAILED' | 'UNSUPPORTED_HTTP_METHOD' | 'UNSUPPORTED_CONTENT_TYPE' | 'UNPARSABLE_JSON' | 'PAYLOAD_TOO_LARGE' | 'INGESTION_FATAL' | 'UNKNOWN', required
    - `ingested_at` string, date-time, nullable, required — The time the request was originally received
    - `source_id` string, required — ID of the associated source
    - `events_count` integer, nullable, required — The count of events created from this request (CLI events not included)
    - `cli_events_count` integer, nullable, required — The count of CLI events created from this request
    - `ignored_count` integer, nullable, required
    - `updated_at` string, date-time, required — Date the event was last updated
    - `created_at` string, date-time, required — Date the event was created
    - `data` ShortEventData, nullable — Request data
      - `path` string, required — Request path
      - `query` string, nullable, required — Raw query param string
      - `parsed_query` union, required — JSON representation of query params
        - string, nullable
        - object
      - `headers` union, required — JSON representation of the headers
        - string
        - object
      - `body` union, required — JSON or string representation of the body
        - string
        - object
        - unknown[]
          - unknown
      - `is_large_payload` boolean, nullable — Whether the payload is considered large payload and not searchable
  - `events` Event[], nullable
    - `id` string, required — ID of the event
    - `team_id` string, required — ID of the project
    - `webhook_id` string, required — ID of the associated connection (webhook)
    - `source_id` string, required — ID of the associated source
    - `destination_id` string, required — ID of the associated destination
    - `delivery_group` string, nullable — Delivery group computed from the destination delivery groups config
    - `event_data_id` string, required — ID of the event data
    - `request_id` string, required — ID of the request that created the event
    - `attempts` integer, required — Number of delivery attempts made
    - `last_attempt_at` string, date-time, nullable, required — Date of the most recently attempted retry
    - `next_attempt_at` string, date-time, nullable, required — Date of the next scheduled retry
    - `response_status` integer, nullable — Event status
    - `error_code` 'BAD_RESPONSE' | 'CANCELLED' | 'TIMEOUT' | 'NOT_FOUND' | 'CANCELLED_PAST_RETENTION' | 'CONNECTION_REFUSED' | 'CONNECTION_RESET' | 'MISSING_URL' | 'CLI' | 'CLI_UNAVAILABLE' | 'SELF_SIGNED_CERT' | 'ERR_TLS_CERT_ALTNAME_INVALID' | 'ERR_SSL_WRONG_VERSION_NUMBER' | 'NETWORK_ERROR' | 'NETWORK_REQUEST_CANCELED' | 'NETWORK_UNREACHABLE' | 'TOO_MANY_REDIRECTS' | 'INVALID_CHARACTER' | 'INVALID_URL' | 'SSL_ERROR_CA_UNKNOWN' | 'DATA_ARCHIVED' | 'SSL_CERT_EXPIRED' | 'BULK_RETRY_CANCELLED' | 'DNS_LOOKUP_FAILED' | 'HOST_UNREACHABLE' | 'INTERNAL_ERROR' | 'PROTOCOL_ERROR' | 'PAYLOAD_MISSING' | 'UNABLE_TO_GET_ISSUER_CERT' | 'SOCKET_CLOSED' | 'OAUTH2_HANDSHAKE_FAILED' | 'Z_DATA_ERROR' | 'UNKNOWN' — Error code of the delivery attempt
    - `status` 'SCHEDULED' | 'QUEUED' | 'HOLD' | 'SUCCESSFUL' | 'FAILED' | 'CANCELLED', required
    - `successful_at` string, date-time, nullable, required — Date of the latest successful attempt
    - `cli_id` string, nullable, required — ID of the CLI the event is sent to
    - `updated_at` string, date-time, required — Date the event was last updated
    - `created_at` string, date-time, required — Date the event was created
    - `data` EventData, nullable — Event data if included
      - `url` string, required
      - `method` string, required
      - `path` string, nullable, required — Raw path string
      - `query` string, nullable, required — Raw query param string
      - `parsed_query` union, required — JSON representation of query params
        - string, nullable
        - object
      - `headers` union, required — JSON representation of the headers
        - string
        - object
      - `appended_headers` string[] — List of headers that were added by Hookdeck
      - `body` union, required — JSON or string representation of the body
        - string
        - object
        - unknown[]
          - unknown
      - `is_large_payload` boolean — Whether the payload is considered large payload and not searchable

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `422` — Unprocessable Entity

---

[API](https://skmtc.dev/hookdeck/apis/hookdeck-admin-rest-api.md) · [All operations](https://skmtc.dev/hookdeck/apis/hookdeck-admin-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hookdeck/hookdeck-admin-rest-api/revisions/091808eac7fa/schema)
