FruxonDocs
ApiLlm provider configs

Runs one completion on the configuration, outside any agent.

Sends a system prompt and a short conversation to a model through the config's <b>published</b> revision, and returns the reply with its token usage, finish reason and latency. Use it to see what a model does with a prompt — whether it follows an instruction a platform system block gives, say — without creating an agent, a session or an execution record. The workspace's inference-residency posture applies, the model's catalog defaults are applied under the request's parameters, and no tools are offered. Nothing is recorded, as with `:test`, so a Fruxon-hosted provider is refused: its spend is Fruxon's. `maxTokens` is capped at 8192 (a larger model default is lowered to it), the input at 200,000 characters and 50 messages, and the last message must be the user's. A provider's refusal comes back as 400, an upstream failure as 502, each with the provider's message.

POST
/v1/tenants/{tenant}/llmProviders/{llmProvider}/configs/{config}:complete
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

llmProvider*string

The LLM provider ID to call.

config*string

The configuration ID.

Formatuuid
tenant*string

The tenant identifier

The model, system prompt and messages.

model*string

The model to call, as the provider's catalog names it (GET /llmProviders/{provider}/models), e.g. gemini-3.1-flash-lite.

Length1 <= length
system?string|null

The system prompt, as an agent step's instructions and system blocks reach the model. Optional.

messages*

The conversation, oldest first. It ends on a LLMConfigCompletionRole.User message: the completion is the model's reply to it.

temperature?number|null

Sampling temperature. Leave unset for the model's default.

Formatdouble
maxTokens?integer|null

The output-token ceiling, reasoning tokens included. At most 8192; unset takes the model's default, held to that cap.

Formatint32
parameters?|null

Further model parameters, in the flat form an agent step's provider.parameters holds them (for example thinking_level), so the call can match a step's settings. LLMConfigCompletionRequest.Temperature and LLMConfigCompletionRequest.MaxTokens win over the same keys here.

[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/llmProviders/string/configs/497f6eca-6276-4993-bfeb-53cbbbba6f08:complete" \  -H "Content-Type: application/json" \  -d '{    "model": "string",    "messages": [      {        "role": "UNSPECIFIED",        "content": "string"      }    ]  }'
{
  "text": "string",
  "providerId": "string",
  "model": "string",
  "revisionVersion": 0,
  "finishReason": "STOP",
  "usage": {
    "inputTokens": 0,
    "outputTokens": 0,
    "cachedTokens": 0,
    "thinkingTokens": 0,
    "cacheWriteTokens": 0,
    "webSearchCalls": 0
  },
  "maxTokens": 0,
  "latencyMs": 0
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty