# API reference

Authentication, the base URL, and Zo's public API surface.

The Zo API lets you interact with your Zo from scripts, automations, or other apps. The public surface is small: one endpoint to talk to your Zo, plus discovery endpoints for models and personas.

Base URL: `https://api.zo.computer`

Download the machine-readable spec: [openapi.json](/docs-assets/openapi.json).

## Authentication

Authenticate with a bearer token. Create an access token in **Settings > Advanced** on zo.computer — copy it immediately, you won't see it again.

```bash
curl https://api.zo.computer/models/available \
  -H "Authorization: Bearer zo_sk_your_key_here"
```

> **Warning**
>
> Your API key grants full access to your Zo. Keep it secret and never commit
> it to version control.

## Endpoints

- [`POST /zo/ask`](/reference/api-reference/ask) — send a message to your Zo and get a response (optionally streamed)
- [`GET /models/available`](/reference/api-reference/models) — list the models you can use with `/zo/ask`
- [`GET /models/catalog`](/reference/api-reference/models#get-modelscatalog) — the full public model catalog (no auth)
- [`GET /personas/available`](/reference/api-reference/personas) — list your configured personas

For a guided walkthrough with examples, see the [API guide](/guide/api). To use Zo from MCP-compatible AI tools instead, see the [MCP server](/guide/mcp-server).
