POST /v1/respond
POST/v1/respond
Generate a personality-modulated response to a user message. SPEC-13 §7.1. Supports stateless and stateful modes. With "return_format":"modulator_pack" uniqOS returns the prompt-building pack and does NOT call the LLM (the client does). "stream":true with modulator_pack returns 422. "llm_override" returns 501 until BYOLLM is shipped. A turn that exceeds the engine budget returns 504 turn_timeout and is NOT billed (ADR-0009).
Streaming (stream: true, text return_format only): the response is text/event-stream. Each SSE frame is event: <name> + data: <json>, where <name> is one of metadata | text | guardrail_modulation | completion | error and <json> matches the correspondingly-named StreamEvent* schema in components.schemas (with the type key supplied by the event: line). The full set is modeled as the RespondStreamEvent discriminated union. stream: true with return_format: modulator_pack returns 422.
Request
Responses
- 200
- 400
- 401
- 403
- 409
- 422
- 429
- 500
- 504
Default Response
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).
Requests-per-second ceiling for the current bucket (per-organization for authenticated calls, per-IP for public ones).
Tokens left in the bucket after this request.
ISO-8601 timestamp when the bucket will be fully refilled.
Default Response
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).
Default Response
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).
Default Response
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).
Turns consumed by the organization in the current billing period.
Turn ceiling for the organization in the current billing period.
Active relationships currently counted toward the organization’s quota.
Active-relationship ceiling for the organization’s plan.
ISO-8601 timestamp when the current billing period (and the quota) rolls over.
Default Response
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).
Default Response
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).
Default Response
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).
Requests-per-second ceiling for the current bucket (per-organization for authenticated calls, per-IP for public ones).
Tokens left in the bucket after this request.
ISO-8601 timestamp when the bucket will be fully refilled.
Seconds the client should wait before retrying. Emitted only on 429 responses.
Turns consumed by the organization in the current billing period.
Turn ceiling for the organization in the current billing period.
Active relationships currently counted toward the organization’s quota.
Active-relationship ceiling for the organization’s plan.
ISO-8601 timestamp when the current billing period (and the quota) rolls over.
Default Response
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).
Turn exceeded the engine budget (ENGINE_TURN_BUDGET_MS) and was aborted. Error code turn_timeout; details.budget_ms carries the budget. The aborted turn is NOT billed (ADR-0009). Retrying is the caller’s explicit choice — official SDKs do not auto-retry a 504.
Response Headers
ULID stamped on every response and propagated through error envelopes. Use it when filing support tickets — it identifies the exact request in the structured logs (requestId field).