# X_WEBHOOK_ENDPOINT_INVALID

## Means

the endpoint cannot be delivered to as declared

## Typical cause

three conditions, one code, and `cause` names which: an empty secret, a `url` that is not a url, or a scheme that is not `http:` or `https:`. The scheme is refused by NAME rather than by a blocklist — a delivery opens an HTTP conversation, and `file:` or `data:` is a row in a table reaching the worker's filesystem. A delivery with no secret is an unsigned POST to wherever the row points

## Fix

give the endpoint an `https://` url and a non-empty secret before `webhook("<name>").endpoint` returns it

[Outbound webhooks](/error-codes#outbound-webhooks)
