create_webhook_endpoint
Add a webhook endpoint to receive Proof events for all or selected sub-accounts, with configurable event subscriptions. The response returns the signing secret, so store it immediately.
Instructions
Add a webhook endpoint. An event reaches every active endpoint whose scope includes the event's sub-account and whose events match; an account-level event reaches "all"-scope endpoints only. An account still delivering to the single webhook URL in its settings is moved onto endpoints by this call (that URL becomes an "all"-scope endpoint with the same secret and events). The response carries the endpoint's signing secret — this and rotate_webhook_endpoint_secret are the only times it is returned, so store it now. Deliveries carry an HMAC-SHA256 X-Proof-Signature over "." made with it.
ACCESS: needs a Proof account. Set PROOF_API_KEY and restart this server, then call this tool again. start_login does NOT open this tool.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | HTTPS URL deliveries are sent to, at most 2000 characters. Private, loopback and link-local addresses are refused. | |
| scope | Yes | "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. | |
| secret | No | The signing secret — returned only in this response. Store it now. | |
| 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 |