# Send a delivery again

Source: https://immiscible.fly.dev/docs/api/post-api-w-wid-webhooks-id-deliveries-did-resend

`POST /api/w/:wid/webhooks/:id/deliveries/:did/resend`

Owners and admins; limited to 20 a minute with test deliveries. The same body, signed afresh with a new timestamp, as a new delivery whose `resentFrom` names the one it repeats. One attempt, made at once and reported in the answer (`201`, a delivery as above); it is not retried.

## Authentication

Session cookie. A signed-in person: the console's session cookie. Every state-changing request also carries the header `x-immiscible-csrf: 1`, and the member's role decides what it may do. Bearer tokens are ignored on these routes, so no machine credential can reach them.

## Path parameters

- `wid` (string, required): Workspace id
- `id` (string, required): Webhook id
- `did` (string, required): The did

## Request

curl:

```bash
curl -X POST "https://immiscible.fly.dev/api/w/$IMMISCIBLE_WORKSPACE/webhooks/whk_3d2e/deliveries/did/resend" \
  -H "cookie: __Host-sid=$IMMISCIBLE_SESSION" \
  -H "x-immiscible-csrf: 1"
```

Node:

```ts
const res = await fetch('https://immiscible.fly.dev/api/w/$IMMISCIBLE_WORKSPACE/webhooks/whk_3d2e/deliveries/did/resend', {
  method: 'POST',
  headers: {
    cookie: `__Host-sid=${process.env.IMMISCIBLE_SESSION}`,
    'x-immiscible-csrf': '1',
  },
});
const data = await res.json();
console.log(res.status, data);
```

Python:

```python
import os
import requests

res = requests.post(
    "https://immiscible.fly.dev/api/w/$IMMISCIBLE_WORKSPACE/webhooks/whk_3d2e/deliveries/did/resend",
    headers={
        "cookie": f"__Host-sid={os.environ['IMMISCIBLE_SESSION']}",
        "x-immiscible-csrf": "1",
    },
)
print(res.status_code, res.json())
```
