Tied-Signature, no shared secret of any kind. A delivery is a plain POST with a JSON body and nothing added beyond content-type headers.
If you have integrated with a provider that signs its webhooks and expect to verify one the same way here, do not write code that waits for a header which will never arrive.
What to do instead
1
Put a secret in the URL you register, not just a path
Register a URL with a long, random, unguessable token as a path segment or query parameter —
https://yourapp.com/webhooks/tied/f83a1e... rather than https://yourapp.com/webhooks/tied. Reject anything that arrives without the exact token. This is the actual substitute for a missing signature: the secret lives in the URL instead of in a header.2
Don't rely on IP allowlisting as your only control
If you want to restrict inbound connections by source IP as a secondary layer, check with Tied support first for whatever egress ranges currently apply to your instance — they aren’t published in this reference, and infrastructure that isn’t contractually static shouldn’t be treated as if it were. Use it as a second layer behind the URL secret, not a replacement for it.
3
Treat the payload as a notification, not a source of truth
Because nothing proves authenticity or integrity in transit, don’t take a consequential action — refunding a charge, escalating a ticket, closing an account — directly off the fields in a webhook body. Use the event as a trigger to call back into the API and read the current state of the resource with your own token, then act on what the API tells you.
Why this matters more than it might for other APIs
Combined with there being no retry on delivery failure, a webhook here is best treated as a hint that something happened, not an event log you can trust and replay. Build your integration so that:- A forged payload can’t do anything on its own — it can only prompt a
GETthat then either finds real corroborating state or doesn’t. - A missed delivery isn’t silently fatal — pair webhooks with an occasional reconciliation poll for anything business-critical, since there’s no redelivery to fall back on if your endpoint was down for the one attempt Tied made.
Next
Payload schemas
What’s actually in the body you can’t fully trust.
Retries and testing
Why reconciliation polling matters: there’s exactly one delivery attempt.