Skip to main content
A subscription connects one agent to one target URL and event set. At least one saved subscription selects Webhook delivery for the agent. There is no transport mode, toggle, or WebSocket setting.

Create

The target must use HTTPS. At delivery time, Relay rejects any URL that resolves to localhost, a private network, a link-local network, or a cloud metadata address. Relay never follows redirects. Creating the first subscription closes every connected agent socket. Pending events then drain to Webhooks with their original event_id.

Store the signing secret

signing_secret appears only in the create response. Every event uses the fixed 2026-02-03 webhook payload version.

List, retrieve, update, or delete

Target URLs must be unique per agent. Delete a subscription by ID:
Deleting the last subscription moves pending events to WebSocket. If no agent backend is connected, the events wait durably. Relay retains pending and terminal delivery state for 30 days.

Rotate a secret

Create a replacement subscription, deploy its new secret, confirm delivery, then call relay.webhookSubscriptions.delete(oldSubscriptionId).