# Omnia ## Docs - [Omnia documentation](https://docs.omnia-voice.com/introduction.md): Omnia measures whether your AI is good on your own traffic — calibrated judges, statistically honest comparisons — and makes model improvements safe to ship. - [Quickstart](https://docs.omnia-voice.com/quickstart.md): Five minutes to captured, gradeable traffic — through whichever integration path fits your stack. - [How Omnia works](https://docs.omnia-voice.com/concepts/how-omnia-works.md): Omnia's workflow end to end: capture your traffic, measure quality with calibrated judges, improve your model on it, and own the result. - [Integration paths](https://docs.omnia-voice.com/capture/overview.md): Four ways to get your LLM traffic into Omnia — route through the gateway, keep your provider key, point your OpenTelemetry at us, or add the tracing SDK. Every path ends in the same place: gradeable traffic. - [The gateway](https://docs.omnia-voice.com/concepts/gateway.md): How Omnia routes, meters, bills, and captures every request behind one endpoint. - [Bring your own key (closed models)](https://docs.omnia-voice.com/reference/bring-your-own-key.md): Route your OpenAI, Anthropic, Gemini, xAI, or Mistral traffic through Omnia on your own provider key — same model, one base-URL change, full observability. - [OTLP trace ingest](https://docs.omnia-voice.com/reference/otlp-ingest.md): Send standard OpenTelemetry traces to Omnia — no SDK, no packages, three environment variables. - [Tracing SDK](https://docs.omnia-voice.com/reference/tracing-sdk.md): One install, one line — standard OpenTelemetry, curated. Eject anytime; your spans don't change. - [Set up with your coding agent](https://docs.omnia-voice.com/guides/setup-with-your-coding-agent.md): One prompt wires your repo to Omnia — through the gateway, your own provider key, OpenTelemetry, or the tracing SDK — and verifies itself. - [Import logs](https://docs.omnia-voice.com/capture/import-logs.md): Run your first bake-off from a JSONL export of your current provider's traffic — no routing, no integration, and your current model's stored answers become the baseline. - [Request logging](https://docs.omnia-voice.com/reference/request-logging.md): Opt-in capture of your chat traffic — browse it, export it, turn it into fine-tuning datasets. - [Observability](https://docs.omnia-voice.com/reference/observability.md): Traffic, latency, errors, and per-request detail for your usage. - [Segments](https://docs.omnia-voice.com/concepts/segments.md): Your logged traffic, auto-grouped by system-prompt family — every application surface separable with zero setup, retroactively. - [Grading](https://docs.omnia-voice.com/judges/grading.md): Ground truth for every judge: grade a slice of real traffic pass/fail, and every number downstream carries that measurement. - [Judges & calibration](https://docs.omnia-voice.com/judges/calibration.md): A judge is one binary question, measured against your grades: TPR, TNR, Cohen's κ — and a trust badge derived from confidence intervals, not point estimates. - [Judge assists](https://docs.omnia-voice.com/judges/assists.md): Suggest, scan, auto-improve, the prompt lab, and split drafting — everything amplifies your grades; nothing grades on its own authority. - [Online monitoring & the quality-gated canary](https://docs.omnia-voice.com/judges/online-monitoring.md): Score a sample of live traffic continuously, alert on interval bounds, and let a gate promote or roll back a model change on statistical evidence. - [Evals](https://docs.omnia-voice.com/reference/evals.md): Judged model comparisons on your own prompts: test whether a cheaper model holds up on your traffic, with a savings report. - [Corrected pass rates & the CI gate](https://docs.omnia-voice.com/evaluate/corrected-rates.md): Judge-scored comparisons corrected for the judge's measured error, deterministic assertions, a deploy gate on interval bounds — and the certified switch test. - [Self-improvement](https://docs.omnia-voice.com/reference/self-improvement.md): Turn a validated judge into a better model: reward-weighted training on your own traffic, with the same judge as the reward and the same holdout as the proof. - [Fine-tuning](https://docs.omnia-voice.com/fine-tuning/overview.md): Train a model on your own data and deploy the result. - [Datasets & formats](https://docs.omnia-voice.com/fine-tuning/datasets.md): Prepare, upload, and map training data for fine-tuning. - [Creating a job](https://docs.omnia-voice.com/fine-tuning/create-job.md): Upload a training file and start a fine-tuning job. - [Deploying a fine-tuned model](https://docs.omnia-voice.com/fine-tuning/deploy-model.md): Serve your trained model on a dedicated endpoint. - [Self-improvement (RL)](https://docs.omnia-voice.com/fine-tuning/self-improvement.md): Your model improves itself on your own traffic, judged by your own validated evaluators. - [GRPO runs API](https://docs.omnia-voice.com/fine-tuning/grpo-api.md): Start, monitor, stop, and download online-RL runs programmatically — with validated rewards and ledger-true budgets. - [Owning your model](https://docs.omnia-voice.com/reference/own-your-model.md): The model trained on your traffic is yours: run it on Omnia, deploy it elsewhere, or take the weights and run it air-gapped — with the proof it works. - [Model aliases](https://docs.omnia-voice.com/reference/model-aliases.md): Call a stable name, swap the model behind it — no redeploy, no code change. - [Chat completions](https://docs.omnia-voice.com/inference/chat.md): Generate chat responses with any supported model. - [Streaming](https://docs.omnia-voice.com/inference/streaming.md): Stream tokens as they are generated using server-sent events. - [Tool calling](https://docs.omnia-voice.com/inference/tools.md): Let the model call your functions with structured arguments. - [Structured output](https://docs.omnia-voice.com/inference/structured-output.md): Force valid JSON or a strict schema in the model's response. - [Embeddings](https://docs.omnia-voice.com/inference/embeddings.md): Turn text into vectors for search, RAG, and clustering. - [Vision](https://docs.omnia-voice.com/inference/vision.md): Send images to a vision model and get text back. - [Playground](https://docs.omnia-voice.com/guides/playground.md): Test any model interactively in the dashboard. - [Dedicated endpoints](https://docs.omnia-voice.com/dedicated/overview.md): Private GPU capacity for a specific model, billed per GPU-hour. - [Deploying an endpoint](https://docs.omnia-voice.com/dedicated/deploy.md): Provision a dedicated GPU endpoint from the dashboard or the API. - [Managing endpoints](https://docs.omnia-voice.com/dedicated/manage.md): Call, scale, update, and delete your dedicated endpoints. - [Response caching](https://docs.omnia-voice.com/billing/caching.md): Opt-in per-workspace caching: identical requests are served instantly at a 75% discount. - [Authentication](https://docs.omnia-voice.com/authentication.md): Authenticate every request with a workspace API key — and understand what each key is allowed to do. - [Workspaces & teams](https://docs.omnia-voice.com/concepts/workspaces-teams.md): Organize access, billing, and resources with workspaces and team members. - [Billing model](https://docs.omnia-voice.com/concepts/billing.md): Prepaid wallet, pay-as-you-go consumption, metered to the micro-cent. - [Managing your wallet](https://docs.omnia-voice.com/billing/wallet.md): Top up, track your balance, and understand holds. - [Auto-reload](https://docs.omnia-voice.com/billing/auto-reload.md): Automatically top up your wallet so production never stalls. - [Usage & invoices](https://docs.omnia-voice.com/billing/usage.md): Track exactly what every request costs and export your usage. - [Errors](https://docs.omnia-voice.com/reference/errors.md): Error codes Omnia returns and how to handle them. - [Rate limits](https://docs.omnia-voice.com/reference/rate-limits.md): How throughput limits work and how to handle them. - [Models](https://docs.omnia-voice.com/concepts/models.md): Browse the model catalog and understand modalities, run modes, and pricing. - [Case study: catching a support bot that lies](https://docs.omnia-voice.com/guides/grounding-a-support-bot.md): A real walkthrough — how validated evals found confident fabrication in a production assistant, and how a prompt change fixed it without changing models. - [The tracing SDKs](https://docs.omnia-voice.com/sdks/overview.md): Standard OpenTelemetry, curated: one install, one line, no instrumentation code of our own — and an eject guarantee that means uninstalling loses nothing. - [TypeScript SDK](https://docs.omnia-voice.com/sdks/typescript.md): @omnia-voice/tracing — setup() before your LLM clients, or zero code via the register entrypoint; standard OpenTelemetry underneath, eject anytime. - [Python SDK](https://docs.omnia-voice.com/sdks/python.md): omnia-tracing — setup() before your LLM clients, tracing.instrumented tells you exactly what's captured; standard OpenTelemetry underneath, eject anytime. - [API overview](https://docs.omnia-voice.com/api-reference/introduction.md): Base URL, authentication, response dialect, and what the API covers. - [Create chat completion](https://docs.omnia-voice.com/api-reference/chat/create-chat-completion.md): Generate a model response for a conversation. OpenAI-compatible; supports streaming, tool calls, and structured output. Supports gateway fallback models (`fallbacks`) and, when the workspace has [response caching](/billing/caching) enabled, serves identical repeat requests from cache at a discount (… - [Create embeddings](https://docs.omnia-voice.com/api-reference/embeddings/create-embeddings.md): Create embedding vectors for input text. Billed on input tokens only. When the workspace has [response caching](/billing/caching) enabled, identical repeat requests are served from cache at a discount (see the `X-Omnia-Cache` response header). - [Rerank documents](https://docs.omnia-voice.com/api-reference/rerank/rerank-documents.md): Rerank a list of documents by relevance to a query. Availability depends on a rerank model being present in the catalog. - [Create a response](https://docs.omnia-voice.com/api-reference/responses/create-a-response.md): OpenAI's Responses API. Supports streaming (usage settled on the terminal response.completed event). - [List models](https://docs.omnia-voice.com/api-reference/models/list-models.md): List the models available to your workspace. A model not in this list returns 404 when called. - [OTLP trace ingest](https://docs.omnia-voice.com/api-reference/otlp-trace-ingest.md): Accepts standard OpenTelemetry traces (OTLP/HTTP, protobuf or JSON; 4 MB batch cap) at the GATEWAY host: `https://gateway.omnia-voice.com/v1/traces`. Point any OTel exporter here with `Authorization: Bearer `. - [Setup status](https://docs.omnia-voice.com/api-reference/setup-status.md): "Where am I, and what is next?" — also the cheapest possible key check: a 200 proves the key is live and names its workspace. - [List logged exchanges](https://docs.omnia-voice.com/api-reference/logs/list-logged-exchanges.md): Your workspace's captured chat exchanges, newest first. - [Export logged exchanges as JSONL](https://docs.omnia-voice.com/api-reference/logs/export-logged-exchanges-as-jsonl.md): The filtered exchanges as JSONL — one `{"messages": [...]}` line each, request messages with the assistant reply appended. That's the chat format every training and eval pipeline accepts, so it pipes straight into your own tooling. - [Get an agent run / grouped conversation](https://docs.omnia-voice.com/api-reference/get-an-agent-run-grouped-conversation.md): Every step sharing one X-Omnia-Trace-Id, oldest-first (execution order), aborted partials included — a trace read is error analysis. Requires request logging (409 otherwise). - [Create a dataset from logs](https://docs.omnia-voice.com/api-reference/logs/create-a-dataset-from-logs.md): Curate logged traffic into a managed training dataset. - [List trace labels](https://docs.omnia-voice.com/api-reference/labels/list-trace-labels.md): Your human pass/fail verdicts on logged traffic — the ground truth every judge is measured against. - [Label a trace](https://docs.omnia-voice.com/api-reference/labels/label-a-trace.md): Record a human pass/fail verdict on one logged request (owner/admin key — labels DEFINE quality). Downstream systems that already know an output was good or bad can push verdicts here too: a support tool marking an escalation, a pipeline that caught a wrong extraction. - [List criteria](https://docs.omnia-voice.com/api-reference/criteria/list-criteria.md): Your validated judges, each with its measured agreement (TPR/TNR/κ) and derived tier. - [Create a criterion](https://docs.omnia-voice.com/api-reference/criteria/create-a-criterion.md): One binary question about quality. A criterion's verdicts are meaningless until you ALIGN it against your labels — create, then POST /v1/criteria/{id}/align. - [List criterion templates](https://docs.omnia-voice.com/api-reference/list-criterion-templates.md): Shipped starting points per use case (support, RAG, extraction, data processing, agents & tools). Instantiate via POST /v1/criteria, then align — a template is a starting point, not a truth. - [Get a criterion](https://docs.omnia-voice.com/api-reference/get-a-criterion.md) - [Update a criterion](https://docs.omnia-voice.com/api-reference/update-a-criterion.md): Changing judge_prompt, judge_model, population, or population_family VOIDS the calibration (metrics and confusion rows) — they describe an instrument that no longer exists. unit is create-only and rejected. Online-monitor config (online_enabled, online_percent, population, population_family, online_… - [Delete a criterion](https://docs.omnia-voice.com/api-reference/delete-a-criterion.md) - [Align a criterion against your labels](https://docs.omnia-voice.com/api-reference/criteria/align-a-criterion-against-your-labels.md): Judge every labeled trace with this criterion and measure agreement: TPR and TNR with 95% Wilson intervals, plus Cohen's κ — never raw agreement (class imbalance inflates it). Needs at least 30 labels (aim for 100). Billed as judging; the confusion matrix is stored row by row so every disagreement s… - [Get the persistent alignment report](https://docs.omnia-voice.com/api-reference/get-the-persistent-alignment-report.md): Reconstructed from the stored confusion rows: metrics with CIs, population breakdown, and every judge/human disagreement with the human critique and response excerpt. Free — reads the last run; POST /align re-judges and spends. - [Scan unlabeled traffic for suspected failures](https://docs.omnia-voice.com/api-reference/criteria/scan-unlabeled-traffic-for-suspected-failures.md): Judges a bounded batch of recent UNGRADED logged traffic with this judge; FAILs become pending suspects for one-click confirm/dismiss in the dashboard's Review queue. Confirming creates a real fail grade the calibration set grows by; dismissing means it never resurfaces — the judge suggests, the hum… - [Suggest judges from your failure critiques](https://docs.omnia-voice.com/api-reference/criteria/suggest-judges-from-your-failure-critiques.md): Clusters the workspace's fail-grade critiques (10 or more required; the most recent 200 considered) into at most 5 DRAFT judges — your failure taxonomy, written for you, reviewed by you. Drafts only: each needs human review and a calibration run before anything trusts it — assist, never one-shot. A… - [Run one auto-improve iteration on a judge](https://docs.omnia-voice.com/api-reference/criteria/run-one-auto-improve-iteration-on-a-judge.md): ONE improvement iteration per call: mines the last calibration's tune-half disagreements (the report half stays untouched, so the next measurement is honest), rewrites the judge prompt coherently, and creates a SUCCESSOR draft judge with its calibration queued. Requires a holdout-scale calibration r… - [List eval runs](https://docs.omnia-voice.com/api-reference/evals/list-eval-runs.md): This workspace's eval runs, newest first (max 50), in the {"object": "list", "data": [...]} envelope. - [Queue an eval run](https://docs.omnia-voice.com/api-reference/evals/queue-an-eval-run.md): Compare a baseline model against up to 3 candidates on **your own prompts**, scored by an LLM judge. - [Get an eval run](https://docs.omnia-voice.com/api-reference/evals/get-an-eval-run.md): Status and, once `status` is `DONE`, the report: per-candidate win rate, W/T/L, average latency, cost, and savings versus the baseline on the same prompts. Poll this after queueing a run. - [Delete an eval run](https://docs.omnia-voice.com/api-reference/evals/delete-an-eval-run.md): Delete a terminal run (DONE, ERROR, or CANCELLED) and, with it, its samples, generated answers, and judge verdicts. Permanent. Requires an owner/admin key (same gate as create). A PENDING or RUNNING run is refused with 400: cancel it first. The models, judges, and criteria the run referenced are unt… - [Cancel an eval run](https://docs.omnia-voice.com/api-reference/evals/cancel-an-eval-run.md): Cancel a PENDING or RUNNING run. Requires an owner/admin key, the same gate as create, because it controls wallet spend. Returns the run with status CANCELLED and a "Cancelled by …" note in error. A run already DONE, ERROR, or CANCELLED is refused with 400: a terminal result is never overwritten. Ca… - [Get an eval run's test cases](https://docs.omnia-voice.com/api-reference/evals/get-an-eval-runs-test-cases.md): The evidence behind the score: every sampled prompt, the fresh answer each model gave, and the judge's verdict per sample. A win rate you can't inspect is a win rate you can't trust — read these before switching a production model. - [Gate a deploy on an eval run](https://docs.omnia-voice.com/api-reference/evals/gate-a-deploy-on-an-eval-run.md): One curl in CI: 200 when every requested check passes, 412 otherwise — `curl -f` does the rest. - [List training files](https://docs.omnia-voice.com/api-reference/fine-tuning/list-training-files.md) - [Upload training file](https://docs.omnia-voice.com/api-reference/fine-tuning/upload-training-file.md): Upload a training file (JSONL) as multipart form data in a field named `file`. Requires an owner/admin key. - [List fine-tuning jobs](https://docs.omnia-voice.com/api-reference/fine-tuning/list-fine-tuning-jobs.md) - [Create fine-tuning job](https://docs.omnia-voice.com/api-reference/fine-tuning/create-fine-tuning-job.md): Start a fine-tuning job. Requires an owner/admin key. Billing is per trained token, charged once on completion. - [Get fine-tuning job](https://docs.omnia-voice.com/api-reference/fine-tuning/get-fine-tuning-job.md) - [Cancel fine-tuning job](https://docs.omnia-voice.com/api-reference/fine-tuning/cancel-fine-tuning-job.md): Cancel a running job. Requires an owner/admin key. A cancelled job is not billed. - [Start a bake-off](https://docs.omnia-voice.com/api-reference/fine-tuning/start-a-bake-off.md): Prove a SUCCEEDED fine-tune against its base model on the dataset's held-out split, without deploying it: token-weighted NLL/perplexity on the reference answers, a sign-test-backed verdict, and optionally a calibrated judge's pass rates on both sides. Requires an owner/admin key; metered GPU minutes… - [Get bake-off state](https://docs.omnia-voice.com/api-reference/fine-tuning/get-bake-off-state.md): The comparison's state, verdict, and ledger-true spend. status none means no bake-off has been started for this job. - [List GRPO runs](https://docs.omnia-voice.com/api-reference/reinforcement-learning/list-grpo-runs.md): This workspace's online-RL runs, newest first (max 50), with ledger-true spend per run. candidates_waiting counts prompts in the GRPO-candidate queue: prompts offline RAFT gave up on, which are exactly what online RL exists to crack. Requires an owner/admin key. - [Start a GRPO run](https://docs.omnia-voice.com/api-reference/reinforcement-learning/start-a-grpo-run.md): Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true:… - [Get a GRPO run](https://docs.omnia-voice.com/api-reference/reinforcement-learning/get-a-grpo-run.md): One run: status, ledger-true spend across all three meters (reward, GPU, environment), and the outcome card for terminal runs. - [Stop a GRPO run](https://docs.omnia-voice.com/api-reference/reinforcement-learning/stop-a-grpo-run.md): Stop an ACTIVE run. A status flip is the whole mechanism: the reward server refuses the run's next scoring call and the orchestrator's watch loop exits on its next sweep. A run that isn't ACTIVE returns 404. - [Download trained adapter weights](https://docs.omnia-voice.com/api-reference/reinforcement-learning/download-trained-adapter-weights.md): Presigned download links for a terminal run's trained adapter files. Parity with the SFT self-host story: the adapter is reachable by API, not just the dashboard. Links expire; re-request for fresh ones. - [List RAFT rounds](https://docs.omnia-voice.com/api-reference/reinforcement-learning/list-raft-rounds.md): This workspace's RAFT rounds, newest first (max 200), read-only. A round samples prompts, generates candidates, keeps judge-approved winners, and distills them into an SFT job (produced_job_id). Rounds are started from the dashboard today; there is no public start endpoint yet, so this surface is ob… - [List declared agent tools](https://docs.omnia-voice.com/api-reference/reinforcement-learning/list-declared-agent-tools.md): The environment consent surface: tools an agentic training run may call. Auth headers are never returned; each row carries only a redacted auth_prefix. The response also carries egress_verification_secret, the per-workspace HMAC key your endpoint uses to verify that calls carrying X-Omnia-Environmen… - [Register or update a tool](https://docs.omnia-voice.com/api-reference/reinforcement-learning/register-or-update-a-tool.md): Declare a tool an agentic run may call. Endpoints are https-only; credentials go in authHeader and are encrypted at rest, never returned. Registering an existing name updates it. Requires an owner/admin key. - [Revoke a tool registration](https://docs.omnia-voice.com/api-reference/reinforcement-learning/revoke-a-tool-registration.md): Consent withdrawal: future training runs can no longer call this tool. - [List dedicated endpoints](https://docs.omnia-voice.com/api-reference/dedicated-endpoints/list-dedicated-endpoints.md): List every dedicated endpoint in your workspace. - [List deploy templates](https://docs.omnia-voice.com/api-reference/dedicated-endpoints/list-deploy-templates.md): List available models, GPU types, regions, GPU counts, replica limits, and per-GPU-hour sell prices. Use this to discover valid values before creating an endpoint. - [Create dedicated endpoint](https://docs.omnia-voice.com/api-reference/dedicated-endpoints/create-dedicated-endpoint.md): Provision a new dedicated GPU endpoint. Requires an owner/admin key and enough prepaid balance for the minimum runway. Discover valid model/GPU/region/count combinations from the templates endpoint first. - [Get dedicated endpoint](https://docs.omnia-voice.com/api-reference/dedicated-endpoints/get-dedicated-endpoint.md) - [Update dedicated endpoint](https://docs.omnia-voice.com/api-reference/dedicated-endpoints/update-dedicated-endpoint.md): Scale replicas, or start/stop the endpoint. Requires an owner/admin key. - [Delete dedicated endpoint](https://docs.omnia-voice.com/api-reference/dedicated-endpoints/delete-dedicated-endpoint.md): Delete the endpoint, stop it, halt billing, and free its routing key. Requires an owner/admin key. - [List aliases](https://docs.omnia-voice.com/api-reference/model-aliases/list-aliases.md): Your workspace's model aliases. - [Create or repoint an alias](https://docs.omnia-voice.com/api-reference/model-aliases/create-or-repoint-an-alias.md): Point a stable name at a model — and repoint it whenever you like, with **no change to your code**. - [Delete an alias](https://docs.omnia-voice.com/api-reference/model-aliases/delete-an-alias.md): Requests still using the name will fail with "model not found" afterwards — this is a real cutover step, not a cleanup. Owner/admin key required. - [List model versions](https://docs.omnia-voice.com/api-reference/list-model-versions.md): The workspace's improvement chain as immutable records — one version minted per completed training round. Each version pins what its verdict depended on (judge criterion, curriculum hash, holdout hash), and `comparable_to_parent` is true only when parent and child share a holdout hash, so round-over… - [Get a model version](https://docs.omnia-voice.com/api-reference/get-a-model-version.md): One version's record. Scoped to the key's workspace: a foreign or missing id is a 404, never another workspace's lineage. - [Adopt a model version (or roll back)](https://docs.omnia-voice.com/api-reference/model-versions/adopt-a-model-version-or-roll-back.md): Point an alias at this version's served model. Adoption and rollback are the same audited repoint on different rows of the chain: adopting an older version IS the rollback, and no version is ever mutated. Requires an owner/admin key (it redirects live production traffic). Refused with 400 when the v… ## OpenAPI Specs - [openapi](https://docs.omnia-voice.com/openapi.json) - [openapi-inference](https://docs.omnia-voice.com/openapi-inference.json)