Skip to main content
Register an HTTPS endpoint and Glasswarp will POST when a session starts or ends. Use this for ops alerts and agent orchestration — not for driving the PC (that’s the API / MCP / SDK). Deliveries are best-effort and may be missed. For billing reconciliation, treat webhooks as a hint and reconcile against the sessions API (source of truth). Retries are not implemented yet.

Setup

Webhook management (create / list / delete) uses your console login JWT — same auth as API Keys in the developer console. Platform API keys (gw_*) authenticate session/control calls; they cannot manage webhooks.
  1. Open Console → Webhooks, or call POST /v1/webhooks with Authorization: Bearer <console_access_token> (the same JWT the console uses after you sign in).
  2. Enter a public https:// URL (private / loopback / link-local / cloud-metadata addresses are rejected; redirects are not followed).
  3. Copy the signing secret shown once on create (whsec_…).
  4. Start a session — your endpoint should receive session.started, then session.ended when it closes (including idle timeout / owner kill).
Max 5 webhooks per account. Events default to both lifecycle events.

Payload

ended_reason (on session.ended)

Idle timeout is still a session.ended event — there is no separate session.reaped event. Switch on ended_reason=idle_timeout.

Headers

Verify the signature

Reject deliveries whose timestamp is more than 5 minutes from your clock (replay protection).

Delivery behavior

  • ~5s timeout; response body is capped — a slow or huge reply cannot tie up the worker.
  • Failed deliveries update last status in the console.
  • Retries are not implemented yet — poll sessions if you need a durable record.