DEVELOPER REFERENCE / EARLY ACCESS

Make your first request.

Use the hosted inference router with an agent API key. Your website account and inference key are separate credentials.

01 / Create a key

Save the returned api_key securely. It is shown once and starts with sk-omni-. Treat it as a password; do not include it in browser code or commit it to a repository.

Provision an agent
curl https://omnideploy-router-production.up.railway.app/v1/agents/provision \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","agent_name":"my-app"}'

02 / Send a request

The example uses gpt-oss-120b through Groq. Other models require a configured eligible provider. Install the official OpenAI SDK with pip install openai.

Python / OpenAI SDK
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://omnideploy-router-production.up.railway.app/v1",
    api_key=os.environ["OMNIDEPLOY_API_KEY"],
)
response = client.chat.completions.create(
    model="gpt-oss-120b",
    messages=[{"role": "user", "content": "What is 17 times 19?"}],
    max_tokens=160,
)
print(response.choices[0].message.content)

POST /v1/chat/completions accepts supported OpenAI text and tool-call formats. POST /v1/messages accepts supported Anthropic Messages formats. Both accept a Bearer API key or X-API-Key header. Set stream to true for server-sent events. Images and other unsupported content are rejected.

03 / Inspect the result

Request history
curl https://omnideploy-router-production.up.railway.app/v1/dashboard \
  -H "Authorization: Bearer $OMNIDEPLOY_API_KEY"

Request history contains provider attempts, latency, success, and calculated cost from recorded token usage. Unknown usage remains unknown. Prices are configured estimates, not a provider invoice. The hosted router currently has Groq configured; cross-provider fallback requires more eligible providers.

Open router usage dashboard ↗
Discover configured models
curl https://omnideploy-router-production.up.railway.app/.well-known/omnideploy.json

Errors and integration boundaries

Invalid credentials return 401. Unsupported or malformed requests return a validation error. Provider errors may trigger fallback before streaming content starts; an interrupted stream is never silently switched to a different provider. Workspace accounts, teams, and deployment management continue to use the existing backend at omnideployservice.online.

The frontend forwards inference calls through /api/proxy/v1/* to the configured router. Keep server-side credentials out of client applications.