Webhook management
Register webhook
Register a new webhook to receive sandbox lifecycle events. The webhook will be registered for the team ID associated with your API key. All events specified during webhook creation will be sent to URL provided during registration with following payload.List webhooks
List all registered webhooks for your team.Get webhook configuration
Retrieve the current webhook configuration for your team.Update webhook configuration
Update an existing webhook configuration. The update will replace the previous configuration fields with provided fields.Delete webhook
Unregister the webhook.Webhook payload
When a webhook is triggered, your endpoint will receive a POST request with a JSON payload containing the sandbox event data. The payload structure matches the event format from the API:event_data.execution contains sandbox execution details and is included on sandbox.lifecycle.killed and sandbox.lifecycle.paused events:
started_at- UTC RFC3339 timestamp when the current sandbox execution startedvcpu_count- Number of vCPUs assigned to the sandboxmemory_mb- Memory assigned to the sandbox in MBexecution_time- Sandbox runtime in milliseconds
Webhook verification
To ensure the authenticity of webhook requests, each request includes a signature in thee2b-signature header.
You can verify the signature using the signature secret you provided when registering the webhook.
This confirms that the request originated from E2B and has not been tampered with.
Webhook request headers
When webhooks is send, we are adding headers to help you verify the authenticity of the request and make debugging easier.e2b-webhook-id- Webhook ID that triggered the evente2b-delivery-id- Unique ID for the delivery attempte2b-signature-version- Currently alwaysv1, reserved for future usee2b-signature- Signature for verifying the request authenticity`
Delivery and retries
If a delivery fails, E2B retries it up to 3 times, 10 seconds apart. A delivery is treated as failed when your endpoint returns a 4xx or 5xx status code, the request times out, or it fails with a network error. Because a delivery can be retried, the same event may be delivered more than once. Make your webhook handler idempotent and use thee2b-delivery-id header to deduplicate deliveries you’ve already processed.
Available event types
The following event types can be subscribed to via webhooks, they are used as thetype field in the payload.
sandbox.lifecycle.created- Sandbox creationsandbox.lifecycle.killed- Sandbox terminationsandbox.lifecycle.updated- Sandbox configuration updatessandbox.lifecycle.paused- Sandbox pausingsandbox.lifecycle.resumed- Sandbox resumingsandbox.lifecycle.checkpointed- Sandbox snapshot created