API reference

Ask Zo

Send a message to your Zo and stream the response.

POST /zo/ask#

Send a message to your Zo and get a response. This is the same Zo you talk to in the app — your files, integrations, and tools are all available.

Request body#

inputstringrequired

Your message to Zo.

conversation_idstring

Continue an existing conversation. Omit to start a new one.

model_namestring

Override the default model (use GET /models/available to list options).

persona_idstring

Override the active persona (use GET /personas/available to list options).

output_formatobject

JSON Schema for structured output. When set, output in the response is an object matching the schema instead of a string.

streambooleandefault: false

Enable streaming mode. Returns Server-Sent Events (SSE) instead of JSON.

Response#

outputstring | object

Zo's response. An object if output_format was specified.

conversation_idstring

ID to continue this conversation in subsequent requests.

Streaming response#

When stream: true, the endpoint returns a Server-Sent Events stream with Content-Type: text/event-stream. Each event has the format:

Event types:

  • FrontendModelResponse — text chunk from the model (data.content)
  • End — stream completed (includes data.output if output_format was specified)
  • Error — error occurred (data.message)

The x-conversation-id response header contains the conversation ID for follow-up requests.

Continuing a conversation#

Use the returned conversation_id to continue the conversation: