Skip to main content
All API requests are authenticated with a key like eth-.... You can create and revoke keys in your dashboard → API keys.
The key grants access to your balance. Don’t publish it in repositories or frontend code — keep it in environment variables and server-side code.
An OpenAI-compatible header. Works with all OpenAI SDKs.
curl https://api.ethereal.llc/v1/chat/completions \
  -H "Authorization: Bearer eth-..." \
  -H "Content-Type: application/json" \
  -d '{ "model": "claude-haiku-4-5", "messages": [{"role":"user","content":"ping"}] }'

Method 2 — x-api-key

For clients used to the Anthropic-style header.
curl https://api.ethereal.llc/v1/chat/completions \
  -H "x-api-key: eth-..." \
  -H "Content-Type: application/json" \
  -d '{ "model": "claude-haiku-4-5", "messages": [{"role":"user","content":"ping"}] }'

Environment variables

Most tools read the key and base URL from the environment:
export ETHEREAL_API_KEY="eth-..."
# for OpenAI-compatible SDKs:
export OPENAI_API_KEY="eth-..."
export OPENAI_BASE_URL="https://api.ethereal.llc/v1"

Rotation and revocation

  • You can keep multiple keys (for example, one per project/environment).
  • A revoked key stops working immediately.
  • If a key leaks — delete it in the dashboard and create a new one.
Request bodies are not logged — only metadata is stored for billing (model, token count, timestamp). See the FAQ.