Skip to content

API

The only listener a customer's own applications reach.

What it speaks

An OpenAI-compatible subset on /v1, over ordinary TLS on port 8443. Existing clients work unchanged: point the SDK at https://your-host:8443/v1, give it the deployment's CA certificate, and it behaves.

Endpoint
POST /v1/chat/completionsstreaming and non-streaming
POST /v1/completions
GET /v1/modelswhat is being served, under the names requests must use
POST /v1/filesa document to extract text from

No assistants API, no fine-tuning API. Fine-tuning happens on the operator's side, with the operator's authorisation, and exposing it to an application key would be exposing the ability to spend a cluster.

What it does not hold

State, or any key beyond its own identity. It resolves a model name by asking the coordinator, and the coordinator checks the key's scope at that moment, where the name has just become a real deployment. One place decides and one place writes the audit row.

Names

The name a request puts in "model" is what GET /v1/models lists, and it is not always the model's key. A deployment serving an adapter over a base answers as <model>-<adapter> and no longer under the base name alone.

That is an audit property rather than a convenience. If a fine-tune answered under the base model's name, a request, its log line and its audit row would all name weights that had not produced the tokens, and nobody holding the transcript could tell the original from the fine-tune. Asking for the base name while an adapter is merged returns a 404 that names the adapter and the name to use.

Keys

Issued by an operator, shown once, stored hashed. A key can expire and can be scoped to particular models or to a pool. A key outside its scope gets 403 rather than 401: re-sending the credential will not help, and the distinction matters to whoever is debugging.

Errors

The envelope is OpenAI's, so a client's error handling works. What is inside is this product's: a server-side failure names the machine and what it reported, because the operator can see the same line under nodes --wide and the two should say the same thing.

Diffuse Enterprise is commercial software. Diffuse Open is AGPL-3.0.