E
API Gateway
Developer infrastructure preview

One gateway for every model you route.

Send requests through a single control surface with fallback, usage tracking, model choice, and provider visibility built in.

One API key
Fallback-ready
Usage-visible
Model-neutral
Example request
gateway-request.ts
fallback: readylogs: enabled
01const response = await fetch("/api/gateway/v1/chat", {
02 method: "POST",
03 headers: {
04 "Authorization": "Bearer ETHEN_API_KEY",
05 "Content-Type": "application/json"
06 },
07 body: JSON.stringify({
08 model: "frontier/reasoning-model",
09 fallback: ["open/fast-model", "local/private-model"],
10 messages: [
11 { role: "user", content: "Summarize this product spec." }
12 ]
13 })
14});
Response + log
Static preview
200 OK
route.selectedfrontier/reasoning-model
fallback.stateready
latencyvisible
estimated costvisible
logsenabled
Request pathmodel-neutral
App
Gateway
Route
fallback: ready
latency: visible
estimated cost: visible
logs: enabled
Frontier modelsOpen modelsHosted modelsLocal modelsFallback routesUsage logs
1 API key
One control surface

Route every model through one gateway.

100s of models
Model choice stays open

Access frontier, open, hosted, and local options.

Fallback-ready
Backup paths visible

Recover when providers slow down or fail.

Routing

Route by cost, latency, availability, or privacy.

Choose the right model path for each request without rebuilding your application around a single provider.

Availability

Prefer the route most likely to complete now.

Cost

Move lower-risk tasks to more efficient model paths.

Latency

Keep interactive requests on faster routes where possible.

Privacy

Send sensitive drafts through local or private paths where supported.

App request
POST /gateway
Ethen Gateway
Normalize · policy · route
Log + usage
Latency · tokens · spend
1
Availability route
Prefer route with healthier status
2
Lower-cost route
Move routine tasks to efficient paths
3
Low-latency route
Keep interactive work responsive
4
Local/private route
Use private paths where configured
Fallback

Fallback paths are visible before you need them.

A request can move from a primary route to a secondary route when a provider slows down, errors, or becomes unavailable where supported by your configuration.

01
Request received
200 OK
02
Primary provider degraded
Provider degraded
03
Fallback triggered
Fallback triggered
04
Secondary route selected
Route selected
05
Response returned
Response returned
06
Log written
Logs enabled
event.warningProvider degraded
event.successResponse returned
key
Frontier modelsOpen modelsHosted modelsLocal modelsFallback routes

One key across your model stack.

Send requests through a single gateway instead of wiring every provider directly into your app.

Primary routeProvider degraded
Fallback routeReady
ResponseReturned

Recover when providers fail.

Define backup model paths for latency spikes, errors, unavailable models, or policy limits.

Requests
visible
Latency
tracked
tokens
model usage
estimated spend

See usage before it becomes a billing surprise.

Track requests, tokens, latency, model usage, and estimated spend from one surface.

Model stack

Build across frontier, open, hosted, and local models.

Keep model choice behind one gateway layer while each job chooses the right route for the task.

Frontier models

Best for highest-capability tasks.

Open models

Best for flexible deployment and cost control.

Hosted models

Best for managed scale and reliability.

Local models

Best for private drafts and local workflows.

Model laneBest forRoute mode
FrontierReasoning / codingPrimary
OpenCost-sensitive tasksAlternate
HostedProduction workloadsManaged
LocalPrivate workflowsLocal
Lifecycle

From request to response, keep control.

A compact request lifecycle keeps every routing decision observable and reviewable.

1
Normalize request
2
Choose route
3
Apply fallback
4
Track usage
5
Inspect logs
6
Improve route
Stack

Use the gateway from the app stack you already have.

Keep provider-specific changes behind one route layer.

REST clientsNode appsNext.js appsPython servicesOpenAI-compatible clientsLocal runtimesWorkflow systemsObservability tools
REST example

Start routing requests through Ethen Gateway.

REST example
POST /api/gateway/v1/chat
Authorization: Bearer ETHEN_API_KEY
Content-Type: application/json

{
  "model": "frontier/reasoning-model",
  "fallback": ["open/fast-model"],
  "messages": [{ "role": "user", "content": "..." }]
}
Checklist
Create API key
Choose model route
Send request
Inspect logs
Add fallback
FAQ

Frequently asked gateway questions.

Proof-safe answers for developers evaluating model routing, fallback, logs, and billing visibility.

What is Ethen API Gateway?

Ethen API Gateway is designed to be a single control surface for model requests, routing, fallback, usage visibility, and model choice across supported model paths.

Does it replace my model provider accounts?

It is designed to sit between your application and the model paths you configure. Whether it replaces direct provider account wiring depends on your setup and billing model.

Can I route across different model families?

Routes can be configured around different model families where supported, including frontier, open, hosted, and local or private paths depending on your environment.

How does fallback work?

Fallback can be configured as backup route preferences. When a primary route slows, errors, or becomes unavailable, the gateway can select a secondary path where supported by the configuration.

Can I inspect request logs and usage?

The surface is designed to make request status, latency, token usage, estimated spend, selected model path, and fallback events visible from one place.

Does Ethen support local or private model routes?

Local or private routes can be part of the gateway model where supported by your runtime and deployment setup. The preview keeps this language intentionally configuration-dependent.

Is this OpenAI-compatible?

The gateway is designed to work with familiar request patterns where supported. Exact compatibility depends on the route, client, and runtime configuration.

How is billing handled?

The gateway surface is designed to expose usage and estimated spend signals. Final billing behavior depends on provider agreements, model routes, and account configuration.

Route every model from one gateway.

Use Ethen to keep model choice, fallback, logs, and usage visible as your application moves across providers.