---
title: "Replay webhooks over a time range"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/webhooks.replay
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Replay webhooks over a time range

Re-send ledger events of a time range (last 30 days, ≤ 7 days per run, ≤ 10 000 events) with new ids and replay: true. dryRun (default true) counts, splits by type, shows 5 samples and what rights / filters exclude. Over 1 000 events needs the user's confirmation.

Re-send ledger events of a time range (last 30 days, ≤ 7 days per run, ≤ 10 000 events) with new ids and replay: true. dryRun (default true) counts, splits by type, shows 5 samples and what rights / filters exclude. Over 1 000 events needs the user's confirmation.

## Overview

| Name | Value |
| --- | --- |
| Code | `webhooks.replay` |
| Scope needed | `webhooks.manage` |
| Risk | Write |
| May need confirmation | Yes |
| Runs as | Answers right away |
| Needs `Idempotency-Key` | Yes |
| Member roles allowed | `owner`, `manager`, `agent` |
| In the app | Settings → Webhooks |

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `uuid` | Yes |   |
| `from` | `timestamp` | Yes |   |
| `to` | `timestamp` | Yes |   |
| `eventTypes` | `text[]` | No |   |
| `onlyFailed` | `true/false` | No |   |
| `dryRun` | `true/false` | No | Default true: count and preview only. |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/webhooks.replay \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <unique key per operation>" \
  -d '{"id":"00000000-0000-0000-0000-000000000000","from":"…","to":"…"}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `ok` | `true` | Yes |
| `dry_run` | `true/false` | Yes |
| `total` | `number` | Yes |
| `would_send` | `number` | Yes |
| `by_type` | `object` | Yes |
| `excluded` | `object` | Yes |
| `samples` | `object[]` | Yes |
| `confirmation_required` | `true/false` | Yes |
| `range` | `object` | Yes |
| `event_types` | `text[]` | Yes |

## Example answer

```json
{
  "data": {
    "ok": true,
    "dry_run": true,
    "total": 1,
    "would_send": 1,
    "by_type": {},
    "excluded": {
      "permission": 1,
      "filter": 1
    },
    "samples": [
      {
        "id": "00000000-0000-4000-8000-000000000000",
        "type": "text",
        "at": "text"
      }
    ],
    "confirmation_required": true,
    "range": {
      "from": "text",
      "to": "text"
    },
    "event_types": [
      "text"
    ]
  }
}
```

## Using it over MCP

Not listed on any profile: call `tools_describe` then `tools_run` with `code: "webhooks.replay"`. Tool name when listed: `webhooks_replay`.
