POST
Proxy Chat Completions
Send an OpenAI-compatible chat-completions request to Bibha BRAHMA-30B, your organization’s self-hosted LLM. POST /api/v1/voice-engine/llm/v1/chat/completions The request and response bodies follow the OpenAI chat-completions schema, so existing OpenAI clients work by pointing at this base URL and authenticating with your PeachDesk API key (X-API-Key). Requests route to your organization’s self-hosted BRAHMA-30B GPU, never to an external provider. Set stream: true to receive tokens incrementally as Server-Sent Events. Non-streaming responses include a usage object with prompt_tokens, completion_tokens, and total_tokens. Every response carries per-organization rate-limit headers and an x-request-id; non-2xx responses use the OpenAI error format. Use the playground to send a live request and inspect the response.
The staging base URL is api.stage.peachdeskai.com. The production base URL api.peachdeskai.com applies once production DNS is live.

Request fields

Unsupported fields: logprobs: true and any top_logprobs value are rejected with a 422 error (logprobs: false is accepted). logit_bias is accepted and silently ignored. Audio and image content parts are not supported — content parts must be text.

Message roles

content is either a plain string or an array of text parts:

Default system prompt

When a request contains no system or developer message, BRAHMA injects its default system prompt (the model’s standard identity and behavior). To fully control the model’s behavior, supply your own system (or developer) message — your message completely replaces the default; nothing is merged. Because the API is stateless, send that system message on every request (see Prompt engineering).

finish_reason values

Response fields

Non-streaming

Omit stream (or set it to false) to receive the full completion as a single JSON body, including the usage object.
The response ends with the usage accounting for the request:

Streaming

Set stream: true to receive chat.completion.chunk deltas as Server-Sent Events, terminated by data: [DONE].

Usage on streams

Streaming responses do not include usage by default. Set stream_options: {"include_usage": true} to receive it — every chunk then carries "usage": null, and one final usage chunk with an empty choices array arrives before data: [DONE]. This matches OpenAI’s streaming-usage semantics exactly.
cURL
The tail of the stream looks like:

OpenAI SDK drop-in

Point an official OpenAI SDK at BRAHMA by setting the base URL to https://api.stage.peachdeskai.com/api/v1/voice-engine/llm/v1 and passing your PeachDesk API key as the API key.

Authorizations

Authorization
string
header
required

Interactive user session: the login JWT, sent as Authorization: Bearer <token>.

Body

application/json

OpenAI-compatible chat completion request. Additional OpenAI parameters not listed here are forwarded to the engine unchanged.

model
string
required

Model id from GET /v1/models. brahma-30b-reasoning is served on the dedicated reasoning plane.

Example:

"brahma-30b"

messages
object[]
required

The conversation so far.

Minimum array length: 1
temperature
number
default:0.7
Required range: 0 <= x <= 2
max_tokens
integer

Output token ceiling. Omitted leaves the engine's realtime default.

Required range: 1 <= x <= 4096
stream
boolean
default:false

Stream the completion back as server-sent events.

top_p
number
Required range: 0 <= x <= 1
stop

Up to a few stop sequences.

Response

Successful Response