# The deliveries of your webhook

`GET https://rest.wordplus.cloud/wordplus/realtime/webhooks`

The last 100 tries of your webhook in the last three days, the newest first. Each batch has its id and each try its
HTTP status (0 when nothing answered, with `error`), when it is tried again (`next_at`), and whether it may be
sent again now (`resendable`).

In the packages: `realtime.webhooks.deliveries()`.

## Answer

The deliveries.

```json
{
  "ok": true,
  "deliveries": [
    {
      "id": "7f9c2ba4-e88f-4c1b-9a2d-5b3e6f1a0c8d",
      "at": 1791638400000,
      "events": 3,
      "types": [
        "member.joined"
      ],
      "attempt": 1,
      "status": 503,
      "ms": 120,
      "next_at": 1791638430000,
      "resendable": true
    }
  ]
}
```

## Refusals

- **401**: `missing_signature`, `stale_signature` (a clock off by more than 5 minutes), `unknown_site`, `bad_signature` (a wrong secret, or a body or path other than the one signed).
- **403**: `not_included`: your plan does not include it.

## Examples

`wordplus()` (in Go `app.Request()`) signs and sends the request: https://docs.wordplus.cloud/api/signing/ has it in each language.

**curl**

```bash
wordplus GET '/wordplus/realtime/webhooks'
```

**Node**

```js
const { deliveries } = await wordplus('GET', '/wordplus/realtime/webhooks');
```

**Python**

```python
deliveries = wordplus("GET", "/wordplus/realtime/webhooks")["deliveries"]
```

**PHP**

```php
$deliveries = wordplus('GET', '/wordplus/realtime/webhooks')['deliveries'];
```

**Go**

```go
answer, err := app.Request("GET", "/wordplus/realtime/webhooks", nil)
```

