Qubittron Bastion
API reference

Responses

POST /v1/responses — OpenAI Responses API. Stateless mode only (store=false).

POST https://api.qubittron.ai/v1/responses

OpenAI's Responses API in stateless mode. Pass store: false — Bastion's upstream does not retain server-side state.

Authentication

Authorization: Bearer qbt_<key>

Request body

FieldTypeRequiredNotes
modelstringyesOne of the 9 supported models below
inputstring | InputItem[]yesPlain text or structured input array
streambooleannoWhen true, returns SSE event stream
storebooleannoThe Bastion server does not enforce this, but the upstream rejects stateful mode — send store: false or expect a 502
max_output_tokens, temperature, tools, etc.variousnoPassthrough

Supported models

Nine models support /v1/responses:

  • gpt-oss-120b
  • gpt-oss-20b
  • Llama-3.1-8B-Instruct
  • Meta-Llama-3_3-70B-Instruct
  • Qwen3-32B
  • Mistral-Small-3.2-24B-Instruct-2506
  • Mistral-Nemo-Instruct-2407
  • Qwen3-Coder-30B-A3B-Instruct
  • Qwen2.5-VL-72B-Instruct

Other LLMs (e.g. Mistral-7B-Instruct-v0.3) return model_not_found on this endpoint — use /v1/chat/completions instead.

Examples

curl https://api.qubittron.ai/v1/responses \
  -H "Authorization: Bearer $QUBITTRON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-oss-120b",
    "input": "Reply with: ok",
    "max_output_tokens": 32,
    "store": false
  }'
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.qubittron.ai/v1",
  apiKey: process.env.QUBITTRON_API_KEY,
});

const res = await client.responses.create({
  model: "gpt-oss-120b",
  input: "Reply with: ok",
  max_output_tokens: 32,
  store: false,
});
console.log(res.output_text);
const res = await fetch("https://api.qubittron.ai/v1/responses", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.QUBITTRON_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "gpt-oss-120b",
    input: "Reply with: ok",
    max_output_tokens: 32,
    store: false,
  }),
});
const json = await res.json();
console.log(json);

Response

OpenAI Responses API format — see OpenAI's Responses reference for the full shape. The response contains output[] items, usage (input_tokens, output_tokens), and model.

Streaming (stream: true) returns the standard Responses event stream (response.created, response.output_item.added, response.completed, etc.).

Errors

StatusCodeWhen
400invalid_requestBody failed validation
400model_not_foundModel unknown or doesn't support responses
401invalid_api_keyMissing/invalid Bearer token
402insufficient_fundsAccount credit exhausted
429rate_limit_exceededRate limit hit
502upstream_errorUpstream returned 5xx, often when store: true is sent

Pricing

Metered per token (input + output).

On this page