Skip to main content
Essal provides three isolated environments per workspace. Each environment has its own base URL, API keys, data store, and configuration — changes in one environment do not affect another.

Environment Overview

Sandbox

The sandbox is a fully functional replica of the production API. It is ideal for initial integration work and automated testing. Key behaviours:
  • All write operations succeed and return realistic mock IDs
  • Webhook events fire against your configured sandbox endpoint
  • Data is wiped and reset daily at 00:00 UTC
  • No real emails, notifications, or external calls are triggered
Sandbox API keys are prefixed with esk_sandbox_. They cannot be used against the production or staging endpoints.

Staging

Staging is a persistent environment intended for integration testing and UAT. Unlike the sandbox, data is retained across sessions and can be seeded with representative fixtures. Staging mirrors your production environment’s app configuration, permission policies, and webhook subscriptions, making it the safest environment to validate releases before deployment.

Production

Production is your live environment. API keys prefixed with esk_live_ are scoped to production. All actions taken against the production API affect real workspace data.
Always validate changes in sandbox or staging before targeting production. Destructive API calls (e.g. DELETE) in production cannot be undone through the API.

Switching Environments

Set the target environment using the appropriate base URL and API key. Most Essal SDKs accept an environment configuration option:

Per-App Environment Variables

Each app within a workspace can have environment-specific overrides, such as different webhook endpoints or storage buckets. Configure these in Settings → Environments within the admin dashboard.