Ephemerent Ephemeral - Emergent

THE ORRERY DEVELOPER PLATFORM

Intelligence for
the next step.

Generate with hosted models. Decide with Sentinel.
Build both into your application through one API platform.

OpenAI-compatible chat · Structured decisions · Usage controls

YOUR APPLICATION→ ORRERY API
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.ephemerent.com/v1",
    api_key=os.environ["ORRERY_API_KEY"],
)

reply = client.chat.completions.create(
    model="doubleword-deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hello"}],
)
01Generate

Chat, code and tool calls

02Decide

Score the available actions

03Observe

Track requests and credits

MODELS & ROUTES

The right interface for the job.

Explore the endpoints ↗
AGENERATION

Hosted models

doubleword-deepseek-v4-flash · doubleword-glm-5-3-flash

Language and code generation for your applications with hosted models (DeepSeek, GLM and others, served via Doubleword through Orrery Relay). Use familiar chat completions, streaming and tool-call formats.

  • OpenAI-compatible clients
  • Streaming responses
  • Tool calls and JSON output requests
Start generating →
◎ROUTING

Orrery routes

orrery/fast · orrery/balanced

Use a route alias to let Orrery select the serving model. Inspect response headers to see the provider and any fallback.

  • Fast and balanced routes
  • Verified and research routes
  • Shared chat interface
Understand routing →

Model and route access depends on your account. Query GET /v1/models for the catalogue. A route name is not a guarantee of answer quality. Arbiter: available on request. Contact kt@ephemerent.com.

QUICKSTART

Your first request.

Choose a task. Copy an example.
Keep your API key on the server.

POST /v1/chat/completions
Loading example…

API REFERENCE

Predictable requests.
Inspectable responses.

Download request examples ↓
BASE URLhttps://api.ephemerent.com/v1Authorization: Bearer <key>
POST/chat/completionsGenerate a response

Send model, messages and max_tokens (up to 8,192; the default). Set stream: true for incremental output. Other OpenAI fields outside the supported set, such as max_completion_tokens, seed and n, are ignored or rejected. Tools use the OpenAI function-calling schema; supported behavior depends on the serving model.

Returns choices and token usage. Inspect x-orrery-provider, x-orrery-route-alias and, when present, x-orrery-fallback-product. Optional Idempotency-Key supports replaying non-streaming requests.

POST/sentinel/decideChoose an action

Required: state and question. Add options, a map of 2–16 names to descriptions, for multiple choice. Without options, the request is yes/no.

Named choices return answer, confidence and per-option p. Yes/no returns answer and p_yes. Scores compare the supplied options; verify important decisions against evidence. Sentinel is not a chat model.

POST/sentinel/rankRank candidates

Send context and 2–32 candidates, with an optional question. The response contains ranked pairs of candidate and score, best first.

GET/modelsDiscover models and routes

List the catalogue using your API key. Use chat models with chat completions and sentinel-1 with its dedicated endpoints.

GET/usageCheck your credits

Inspect monthly pools, used and remaining credits, and your purchased balance. The console provides the same account view.

GET/sentinel/statusCheck Sentinel availability

Check availability with your API key. If a decision endpoint returns 503, respect Retry-After and use your application's fallback behavior.

USAGE & CONTROLS

Know what your application uses.

Compare plans ↗
01 / BILLING

One account. Visible usage.

Hosted models are metered at the serving model's provider list rate, drawn from your plan's monthly pool, then from purchased credits. Fallback answers are metered at the fallback model's rate. Review your balance, current plan and credit packs in the console before sending paid requests.

View usage & credits →
02 / ACCESS

Keys you can manage.

Create and revoke keys, restrict their routes, and review request receipts. Pro: 30 requests and 100k tokens a minute, 1 key. Max: 120 requests, 500k tokens, 5 keys. Ultra: 600 requests, 2M tokens, 20 keys. Context length depends on the serving model; requests are capped at 256 KB and 64 messages.

Manage API keys →
03 / DATA

Choose your data settings.

Review your account's zero data retention setting for generation. Sentinel request and response bodies are not retained for training; usage metadata is recorded.

Read the data policy →

Handle errors explicitly.

400 / 413
Check the payload, model interface and request size.
401 / 403
Check the key, account access and route permissions.
402
API access needs an active Pro, Max or Ultra plan.
409
The Idempotency-Key was reused with a different body.
422
The output was held by the privacy screen.
429
Rate limit (wait for Retry-After, 60 seconds) or an exhausted balance: the message says which.
503
Service unavailable, or no provider fits this request (context length, tools). Respect Retry-After when supplied.

BUILD SOMETHING THAT MOVES FORWARD

From first request
to your next release.