update_webhook_endpoint
Update a webhook endpoint: its URL, events, scope, sub-accounts, status or description. Every field is optional, but send at least one. Changing the scope to "selected" without profile_ids keeps the stored list. The signing secret is unchanged (rotate it with rotate_webhook_endpoint_secret).
ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>"
},
"name": "update_webhook_endpoint"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook endpoint ID | |
| url | No | HTTPS URL deliveries are sent to, at most 2000 characters. Private, loopback and link-local addresses are refused. | |
| scope | No | "all" serves every sub-account, present and future, plus account-level events; "selected" serves only the sub-accounts in profile_ids | |
| events | No | Subscription patterns (at most 32): an exact event type, a family wildcard such as "proof.*", or "*". An empty list means every event. | |
| status | No | A disabled endpoint receives nothing | |
| description | No | Your own label for the endpoint, at most 200 characters; null clears it | |
| profile_ids | No | Sub-account ids, 24 hex characters each, at most 100. At least one when scope is "selected"; none when scope is "all". |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | MongoDB ObjectId | |
| url | No | HTTPS URL deliveries are POSTed to, at most 2000 characters. Private, loopback and link-local addresses are refused. | |
| scope | No | `all` — every sub-account, present and future, plus account-level events. `selected` — only the sub-accounts in `profile_ids`; account-level events never reach it. | |
| events | No | ||
| legacy | No | The endpoint converted from the account's single webhook URL — the one the deprecated `/me/settings` webhook block reads and writes. | |
| status | No | A `disabled` endpoint receives nothing; its history and secret are kept. | |
| created_at | No | ||
| secret_set | No | Whether the endpoint has a signing secret (always true). | |
| updated_at | No | ||
| description | No | ||
| profile_ids | No |