Use these connection values
In Open WebUI, go to Admin Settings → Connections → OpenAI → Add Connection. Set URL to https://www.primoraihub.com/v1, enter a Primordial AI API key, leave Model IDs empty for the first discovery attempt, and save. If the list is too broad, filter it to exact IDs returned by GET /v1/models.
| Open WebUI field | Value | Reason |
|---|---|---|
| Provider type | OpenAI | Open WebUI uses this connection type for OpenAI-compatible Chat Completions providers. |
| URL | https://www.primoraihub.com/v1 | Open WebUI appends routes such as /models and /chat/completions. |
| API Key | Your Primordial AI key | The provider routes require Bearer authentication. |
| Model IDs (Filter) | Empty first; exact allowlist later | Discover current IDs instead of pinning stale names. |
What is verified—and what is not
The official Open WebUI compatible-provider guide says basic chat requires POST /v1/chat/completions and recommends GET /v1/models for model discovery. It also says connection verification calls /models with a Bearer token.
| Check | Observed 2026-08-24 | Conclusion |
|---|---|---|
GET /v1/models without a key | HTTP 401 | The public route reaches an authentication boundary. This is not a successful model-list test. |
POST /v1/chat/completions without a key | HTTP 401 | The public route reaches an authentication boundary. This is not a successful Open WebUI chat test. |
| Open WebUI save, model picker, streaming, tools, RAG, images, and audio | Not independently tested in this guide | Run the authenticated checks below and verify each optional feature separately. |
OpenAI-compatible describes a request protocol, not complete feature equivalence. A successful model-list call or plain chat does not prove streaming, tools, vision, RAG, image generation, audio, or every model-specific parameter.
Run two preflight checks outside Open WebUI
First confirm that the key and Base URL return a model list. Do this in a trusted server-side shell and never print the key itself:
test -n "$PRIMORDIAL_API_KEY" || {
echo "PRIMORDIAL_API_KEY is not set" >&2
exit 1
}
curl --fail-with-body --silent --show-error \
https://www.primoraihub.com/v1/models \
-H "Authorization: Bearer $PRIMORDIAL_API_KEY" \
| jq -r '.data[]?.id'
Copy one exact ID from that output into the next test. Do not invent a model name or use an old ID from a blog post:
MODEL_ID="MODEL_ID_FROM_V1_MODELS"
curl --fail-with-body --silent --show-error \
https://www.primoraihub.com/v1/chat/completions \
-H "Authorization: Bearer $PRIMORDIAL_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$MODEL_ID\",
\"messages\": [{\"role\": \"user\", \"content\": \"Reply with OK\"}],
\"stream\": false
}"
The second request can consume account quota. A successful result verifies one model, one endpoint, and one non-streaming request shape only.
Configure the provider in Open WebUI
- Sign in to Open WebUI with an administrator account.
- Open Admin Settings → Connections → OpenAI and select Add Connection.
- Keep the provider type as OpenAI and enter
https://www.primoraihub.com/v1as the URL. - Paste the API key into the API Key field. Do not include
Bearer, quotes, or a trailing newline. - Leave Model IDs empty for the first verification. Save the connection.
- If discovery succeeds, add only the models intended for this Open WebUI instance to Model IDs (Filter).
Open WebUI's menu labels can change between releases. If the current interface differs, follow its official connection guide and keep the same provider URL and credential boundary.
Test the smallest useful path
- Choose one model that appears under the new provider connection.
- Start a new chat with tools, web search, knowledge, images, and other optional features disabled.
- Send a short prompt and confirm that a complete non-streaming or basic streaming response appears.
- Review Primordial AI usage and Open WebUI server logs for the same attempt without copying credentials into logs.
- Only after plain chat works, enable one optional feature at a time and retest.
If the model picker is empty, compare the Open WebUI server's model request with the direct model discovery test. A browser loading the Open WebUI page does not prove that its backend container can reach the provider.
Verify optional features independently
Open WebUI's official guide lists separate optional routes: /v1/embeddings for RAG, /v1/images/generations for images, and audio routes for speech and transcription. Tool calling and streaming also depend on the selected model and response schema.
- Do not enable RAG until an embeddings request succeeds with an intended embedding model.
- Do not infer image support from a text chat result; use the documented image endpoint and payload.
- Do not infer tool support from a plain response; test one minimal tool schema and inspect the returned structure.
- Keep a fallback connection or disable a feature when its exact route is unavailable.
Troubleshoot by symptom
| Symptom | Check | Next action |
|---|---|---|
| Verify Connection returns 401 | Key status, whitespace, account, and exact /v1 URL. | Test GET /v1/models directly; rotate an exposed key. |
| Verification returns 404 | Missing or duplicated /v1, wrong host, or a route rewritten by a reverse proxy. | Use the exact Base URL shown above and inspect the sanitized response. |
| Connection saves but no models appear | Direct model-list output and Model IDs (Filter). | Add a small allowlist of exact current IDs only after the direct request succeeds. |
| Model appears but chat fails | Whether that model supports Chat Completions and the sanitized HTTP status/body. | Test the same ID with the minimal cURL request and follow the error decision guide. |
| Open WebUI times out in Docker | Container DNS, outbound firewall, proxy/VPN variables, TLS, and model-list timeout. | Test provider reachability from inside the Open WebUI container. |
| Plain chat works but tools or RAG fail | Optional endpoint and model capability. | Disable the failing feature and verify its route separately. |
Protect a shared Open WebUI connection
A provider key configured by an Open WebUI administrator can spend the associated provider account's quota for allowed users. Protect the admin panel, require HTTPS, constrain the key by workload where possible, set quota or expiry controls, restrict the visible model allowlist, and monitor usage.
The official Open WebUI guide recommends avoiding management or master keys for multi-user connections and preferring least-privilege credentials. This is Open WebUI security guidance, not an endorsement of Primordial AI.
Frequently asked questions
What Base URL should I enter?
Use https://www.primoraihub.com/v1 in the OpenAI-compatible connection.
How are models discovered?
Open WebUI calls the provider's /models route with a Bearer token. With this Base URL, that maps to GET /v1/models.
Why does verification return 401?
Check the key, account, whitespace, and exact Base URL. Test the model endpoint directly without logging the secret.
Does a successful chat prove every Open WebUI feature works?
No. Verify streaming, tools, RAG, images, and audio separately against their exact routes and selected model.
Can one key serve multiple Open WebUI users?
An administrator can configure a shared connection, but allowed users can consume its quota. Use a constrained key, restrict models, protect admin access, and monitor usage.