Before you start
Your deployment must provide:- a public HTTPS base URL;
- an OpenAI-compatible
/chat/completionsendpoint; - Bearer-token authentication; and
- an upstream model or deployment ID accepted by that endpoint.
/responses is optional. Leave it disabled unless the deployment explicitly implements that endpoint.
Connect a deployment
1
Open Private Models
Open Dashboard → Settings → Workspace → Private Models, then select Add model. You must be a workspace owner or admin.
2
Name the model
Choose an existing catalogue model to add this deployment to its provider list, or enter a short model slug such as You cannot choose or replace the workspace namespace. Exact catalogue IDs attach to that model without changing its public identity.
legal-assistant. If no catalogue model has that unique slug, Phaseo combines the trusted workspace namespace with it:3
Configure the endpoint
Enter the base URL before the inference path. For example, use:Do not include
/chat/completions or /responses. Enter the exact upstream model or deployment ID separately; Phaseo substitutes it when forwarding requests.4
Store the credential
Enter the deployment’s API key. Phaseo encrypts the credential and never returns it after saving. You can replace it later from the model’s settings page.
5
Call the model
Use the generated model ID with the regular Chat Completions endpoint:The calling API key must belong to the same workspace as the private model.
cURL
How routing works
Private models use the same Phaseo request surface as catalogue models. A standalone workspace model routes only to its configured endpoint. An endpoint attached to a catalogue model joins that model’s provider list according to its Preferred, Normal pool, or Fallback only routing policy. Phaseo sends the stored credential as a Bearer token and substitutes the configured upstream model ID. A private model does not become a public provider route and is not visible to other workspaces. Enabled private models are included in the authenticated model catalogue and appear under the Private filter.Provider examples
Provider products and URL formats can change. Confirm the base URL, model ID, authentication method, and supported endpoints in the provider’s current deployment documentation.
Manage private models through the API
Server-side administration can use the Private Models API with a management key carryingprivate_models:read, private_models:write, or private_models:delete as needed.
Create and update requests accept model_reference, either an exact catalogue model ID or a short slug. Phaseo derives model_id; clients cannot submit it directly. Use host_provider_id for an existing Phaseo provider, or custom_provider_name and optional custom_provider_url for another operator.
Troubleshooting
- 404 from the provider: Check that the base URL stops before the inference path.
- Unknown model: Copy the provider’s upstream deployment ID into Upstream model ID. Do not use the Phaseo workspace model ID there.
- Unauthorized upstream request: Replace the stored credential and confirm the provider accepts Bearer authentication.
- Chat works but Responses fails: Disable Responses API unless the provider implements
/responsesnatively. - Model missing from the catalogue: Confirm the model is enabled and the caller is authenticated to the same workspace.