---
title: "Edit a webhook"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/webhooks.update
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Edit a webhook

Patch name / URL / types / accounts / filters / content mode. Agents must send expectedRevision (409 revision_conflict with the current one otherwise). A new domain, wider types or accounts, or more message content needs the user's confirmation.

Patch name / URL / types / accounts / filters / content mode. Agents must send expectedRevision (409 revision_conflict with the current one otherwise). A new domain, wider types or accounts, or more message content needs the user's confirmation.

## Overview

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

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `uuid` | Yes |   |
| `expectedRevision` | `integer` | No | Revision you read (required for agents). |
| `name` | `text` | No |   |
| `description` | `text` | No |   |
| `url` | `text` | No |   |
| `eventTypes` | `text[]` | No | Concrete types (message.mentioned), group selectors (messages.*) or * for everything. |
| `accountScope` | `object` | No |   |
| `filters` | `object` | No |   |
| `contentMode` | `"full" \| "thin" \| "none"` | No |   |
| `contentType` | `"application/json" \| "application/cloudevents+json"` | No |   |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/webhooks.update \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"00000000-0000-0000-0000-000000000000"}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `ok` | `true` | Yes |
| `webhook` | `object` | Yes |
| `changed` | `text[]` | Yes |

## Example answer

```json
{
  "data": {
    "ok": true,
    "webhook": {
      "url_host": "text",
      "status": "active",
      "status_reason": "text",
      "status_changed_at": "2026-10-22T12:00:00.000Z",
      "owner": {
        "kind": "human",
        "user_id": "00000000-0000-4000-8000-000000000000",
        "connection_id": "00000000-0000-4000-8000-000000000000",
        "connection_name": "text"
      },
      "event_types": [
        "text"
      ],
      "account_scope": {
        "mode": "all"
      },
      "filters": {
        "direction": "in",
        "keywords": {
          "any": [
            "text"
          ],
          "none": [
            "text"
          ]
        },
        "chat_types": [
          "channel"
        ],
        "mention_only": true,
        "exclude_self": true,
        "exclude_sent_by": [
          "campaign"
        ],
        "exclude_connection_ids": [
          "text"
        ],
        "exclude_own_connection": true,
        "include_backfill": true,
        "conversation_ids": [
          "text"
        ],
        "conversation_tags": [
          "text"
        ],
        "has_media": true,
        "person_stage_ids": [
          "text"
        ],
        "campaign_ids": [
          "text"
        ]
      },
      "filters_text": "text",
      "content_mode": "full",
      "content_type": "application/json",
      "revision": 1,
      "verified_at": "2026-10-22T12:00:00.000Z",
      "tested_at": "2026-10-22T12:00:00.000Z",
      "ready": true,
      "consecutive_failures": 1,
      "failing_since": "text",
      "last_success_at": "2026-10-22T12:00:00.000Z",
      "last_failure_at": "2026-10-22T12:00:00.000Z",
      "created_at": "2026-10-22T12:00:00.000Z",
      "updated_at": "2026-10-22T12:00:00.000Z",
      "url": "text",
      "id": "00000000-0000-4000-8000-000000000000",
      "name": "text",
      "description": "text",
      "url_masked": "text"
    },
    "changed": [
      "text"
    ]
  }
}
```

## Using it over MCP

Tool `webhooks_update` is listed on the profiles: Full (`full`). On other profiles, find it with `tools_search` and run it with `tools_run`.
