> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metriport.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retry a Webhook request

> Resends one webhook request as a new delivery.

Retries one webhook request by sending it again to your configured URL.

The JSON in the HTTP 200 response is the same payload Metriport sends to your webhook URL
(`meta` plus the webhook body). `meta.messageId` is the **new** webhook request ID.

<Note>
  Any presigned URLs in the payload are refreshed when the webhook is sent.
</Note>

## Path Params

<ParamField path="id" type="string" required>
  The webhook request ID to retry. Use an `id` from [List
  Webhook
  requests](/medical-api/api-reference/settings/list-webhook-requests).
</ParamField>

## Response

HTTP status code 200. Body is the outbound webhook payload.

<ResponseExample>
  ```javascript Metriport SDK theme={null}
  import { MetriportMedicalApi } from "@metriport/api-sdk";

  const metriportClient = new MetriportMedicalApi("YOUR_API_KEY");

  const response = await metriportClient.retryWebhookRequest("WEBHOOK_REQUEST_ID");
  ```
</ResponseExample>

<ResponseField name="meta" type="object" required>
  Webhook metadata for this send.

  <Expandable title="meta properties">
    <ResponseField name="messageId" type="string" required>
      ID of the **new** webhook request.
    </ResponseField>

    <ResponseField name="when" type="string" required>
      When the new webhook request was created, ISO 8601.
    </ResponseField>

    <ResponseField name="type" type="string" required>
      Webhook type, for example `medical.document-download`.
    </ResponseField>

    <ResponseField name="requestId" type="string">
      Related request ID when this webhook was tied to
      another flow.
    </ResponseField>

    <ResponseField name="data" type="object">
      Customer metadata from the original send, when
      present.
    </ResponseField>
  </Expandable>
</ResponseField>

Remaining fields are the webhook body for that type (same shape as the original send).

Example response:

```json theme={null}
{
  "meta": {
    "messageId": "22222222-2222-2222-2222-222222222222",
    "when": "2026-09-22T12:00:00.000Z",
    "type": "medical.document-download",
    "requestId": "11111111-1111-1111-1111-111111111111"
  },
  "patients": [
    {
      "patientId": "eddeefa1-b54a-41d6-854f-0e91b7871d6a",
      "type": "document-download",
      "status": "completed"
    }
  ]
}
```

## Rate Limits

20 requests per minute per account.
