Set up the callback
1
Open Webhooks
Open the profile menu, select Account, and then choose the Webhooks tab.
2
Paste your callback URL
Enter the HTTPS endpoint SandyWP should POST to, leave Send demo launch events checked, and select Save webhook.
3
Store the signing secret
Copy the signing secret shown right after saving and add it to the receiving system. SandyWP shows it once and cannot show it again.
sandywp webhook set, or over HTTP with PUT /api/account/webhooks/demo-launches.
What you receive
SandyWP sends two lifecycle event types:demo.readyonce the launched sandbox is ready to serve its URL.demo.expiredwhen the launched sandbox reaches the end of its demo lease.
type and status fields distinguish the transition, and occurredAt is the time it happened. The email field is null when the launch link does not collect an email. consent is always a boolean and is false when the checkbox is disabled or unchecked; consentLabel is the configured checkbox text or null when consent is disabled.
Deliveries time out after ten seconds. A failing endpoint is retried with backoff and becomes terminal after eight attempts.
Verify every request
Your callback URL is publicly reachable, so anyone who learns it could post fake events at it. That is what the signing secret is for: SandyWP signs each request with it, and your receiver recomputes the signature to confirm the request is genuine.Operating notes
- Respond with a
2xxquickly and do slower work afterwards. - Deduplicate on
idempotency-key, since retries reuse the same value. - Clear Send demo launch events to pause delivery while working on the endpoint. The saved URL is retained.

