---
title: "Ask Zo"
method: POST
path: "/zo/ask"
tags: ["AI"]
---

# Ask Zo

`POST /zo/ask`

Send a message to your Zo and get a response. Use `stream: true` for Server-Sent Events streaming.

## Request body

- ZoAskRequest
  - `input` string, required — Your message to Zo
  - `conversation_id` string, nullable — Continue an existing conversation
  - `model_name` string, nullable — Override the default model (for example, 'zo:openai/gpt-5.4'; use /models/available to list available)
  - `persona_id` string, nullable — Override the active persona (use /personas/available to list available)
  - `output_format` StructuredOutputFormat — Example with the various kind of properties that can be stated: { "type": "object", "description": "descriptions are optional but helpful, each property can have them", "properties": { "names": { "type": "array", "items": { "type": "string" } }, "first_name": { "type": "string" }, "temperature_degrees": { "type": "number" }, "temperature_unit": { "type": "string", "description": "The unit to return the temperature in", "enum": ["F", "C"] }, "nested_object": { "type": "object", "description": "A nested object", "properties": { "nested_object_property": { "type": "string" } }, "required": ["nested_object_property"] } }, "required": ["names", "first_name"] }
    - `type` 'object', required
    - `description` string, nullable
    - `required` string[], required
    - `properties` object, required
  - `memory_mode` 'enabled' | 'off' — Memory mode for this request: 'enabled' includes workspace memory, 'off' disables it.
  - `stream` boolean — Enable streaming mode (returns Server-Sent Events)

## Response `200`

Success (non-streaming)

- union
  - ZoAskResponseSuccess
    - `output` union, required — Zo's response (object if output_format was specified)
      - string
      - object
    - `conversation_id` string, nullable — ID to continue this conversation
  - ZoAskResponseError
    - `error` string, required — Error message
  - ZoAskResponseSuccess
    - `output` union, required — Zo's response (object if output_format was specified)
      - string
      - object
    - `conversation_id` string, nullable — ID to continue this conversation
  - ZoAskResponseError
    - `error` string, required — Error message

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/zocomputer/apis/zo-api.md) · [All operations](https://skmtc.dev/zocomputer/apis/zo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zocomputer/zo-api/revisions/70e0bef5d780/schema)
