# Resend Webhook

> Resend webhooks for existing scans.

<RequestExample>

```bash title="cURL" icon="terminal"
curl --request POST \
  --url https://api.copyleaks.com/v3/scans/my-scan-123/webhooks/resend \
  --header 'Authorization: Bearer YOUR_LOGIN_TOKEN'
```

```python title="Python" icon="python"
from copyleaks.copyleaks import Copyleaks

auth_token = Copyleaks.login("your@email.address", "YOUR_API_KEY")

Copyleaks.resend_webhook(auth_token, "my-scan-123")
```

</RequestExample>

<ResponseExample>

```json 202 Accepted
{}
```

</ResponseExample>

If for some reason you did not receive the webhook to a specific scan or you are interested in resending a webhook, you can do it using the resend webhook.

Simply add the Scan Id of the relevant scan and a webhook will be sent to your endpoint.

Use this endpoint to resend webhooks for scan with completed status. Valid statuses: success (completed), failed (error'ed), indexed and price-checked. You cannot send the resend webhook for scans that are still running and processed.

<Warning>
**Authentication Required.** You need to login with a user and API key in order to access this method. Add this HTTP header to your request:

**Authorization: Bearer &lt;Your-Login-Token&gt;**
</Warning>

## Request

### Path Parameters

<ParamField path="scanId" type="string" required>
  The scan id of the scan you would like to resend the webhook for.
</ParamField>

### Headers

```http
Authorization: Bearer YOUR_LOGIN_TOKEN
```

## Responses

<Tabs>
  <Tab title="202">
    <Check>**202 Accepted** - The request accepted. The webhook will be sent shortly.</Check>
  </Tab>
  <Tab title="400">
    <Warning>**400 Bad Request** - The scan is not ready yet. Therefore, cannot resend webhook.</Warning>
  </Tab>
  <Tab title="401">
    <Warning>**401 Unauthorized** - Authorization has been denied for this request.</Warning>
  </Tab>
  <Tab title="404">
    <Warning>**404 Not Found** - No such scan. Check your scanId argument.</Warning>
  </Tab>
</Tabs>
