Environments

Development, staging, and production environments

Available Environments

ETERA provides three isolated environments, each with independent data and authentication:

Production

https://api.etera.dev — Live traffic with real data

Staging

https://api-stage.etera.dev — Pre-production validation

Development

https://api-dev.etera.dev — Testing and development


URL Structure

All ETERA services follow a consistent URL pattern across environments:

https://{environment}/{vertical}/{service}/{endpoint}
ServiceURL
Restaurant Searchhttps://api.etera.dev/restaurant/search/recommendations/
Hotel Bookinghttps://api.etera.dev/hotel/booking/bookings/
Flight Datahttps://api.etera.dev/flight/data/airlines/
Authhttps://api.etera.dev/auth/api/auth/me
Paymenthttps://api.etera.dev/payment/webhook

Switching Environments

To switch environments, replace the base URL:

$# Development
$curl https://api-dev.etera.dev/restaurant/search/recommendations/
$
$# Staging
$curl https://api-stage.etera.dev/restaurant/search/recommendations/
$
$# Production
$curl https://api.etera.dev/restaurant/search/recommendations/

Use the environment selector on any endpoint page in this documentation to switch between Production, Staging, and Development servers. Each API reference page includes a server dropdown powered by x-fern-server-name.


Authentication per Environment

API keys and JWT tokens are scoped per environment. A token obtained from api-dev.etera.dev will not authenticate against api.etera.dev. Generate separate credentials for each environment through the Dashboard.


Deployment Pipeline

Changes are promoted through the environment pipeline:

1

Development

Build and test new features with synthetic test data. Rapid iteration with no impact on real users.

2

Staging

Validate against production-mirrored data (refreshed weekly). Run integration tests and pre-production checks.

3

Production

Go live. All environments run the same API contracts — if it works in staging, it works in production.


Service Health

Each service exposes health check endpoints across all environments:

$# Basic health
$curl https://api.etera.dev/restaurant/search/health
$
$# Detailed health (where available)
$curl https://api.etera.dev/ai/health/detailed
$
$# Readiness check
$curl https://api.etera.dev/ai/health/ready

Next Steps