Agent Setup
This page is designed for both users and AI agents. Agents can read the endpoints below to list plans, check Google login status, create a VNPay/VietQR payment order, explain PayPal or Crypto support via Telegram, and guide the user through API setup.
Google login is required
Zora only supports Google login. If an agent sees an unauthenticated response, it should tell the user to sign in with Google first and should never ask for a Google password or banking credentials.
Agent Discovery
GET/llms.txtPlain-text instructions for AI agents and crawlers.
GET/api/agent/manifestMachine-readable manifest with auth policy, plans, models, and setup endpoints.
Agent Flow
- Read
/api/agent/plans to list current plans, request limits, RPM, and supported models. - Call
/api/agent/session to check whether the browser session is signed in with Google. - If not signed in, send the user to
/login and wait until they finish Google login. - After login, create a QR order with
POST /api/agent/payment. - Show the returned VNPay/VietQR image URL and transfer fields. The user pays from their own banking app.
- For PayPal or Crypto, send the user to Telegram with the returned payment code and amount.
- Poll the returned payment status URL until it returns
status=paid. - Use
/api/agent/setup and /api/user to retrieve or create the user API key.
Access Options
Public price tables are hidden. Agents should use the endpoint below to understand available quota and model access, then send users to support for current commercial terms.
| Option | Requests | RPM | Model access |
|---|
| Free tier | 50 requests | 30 RPM | gpt-5.5 |
| 30M tokens | 30,000,000 tokens | 30 RPM | Zora GPT/Codex routes |
| 100M tokens | 100,000,000 tokens | 30 RPM | Zora GPT/Codex routes |
| 300M tokens | 300,000,000 tokens | 30 RPM | Zora GPT/Codex routes |
Supported Models
Zora currently exposes the Zora GPT/Codex model IDs returned by GET /v1/models. Use exact IDs only; extra model suffixes and Claude-style aliases are not part of the production model catalog.
gpt-5.5
gpt-5.4
gpt-5.4-mini
gpt-5.3-codex
gpt-5.2-codex
gpt-5.2
gpt-5.1-codex-max
gpt-5.1-codex-mini
gpt-5-codex
gpt-5-codex-mini
gpt-5.3-codex-spark
codex-auto-review
Payment Request
Agents must create payment orders only after Google login. The server generates the transfer code, amount, bank fields, payment status URL, and method-specific Telegram links for PayPal or Crypto.
{
"planId": "token_30m",
"rpm": 30,
"method": "paypal"
}
Use The API
Codex CLI
Agents should configure Codex through a local provider config and an environment variable. Do not ask the user to paste the raw API key into a public chat transcript. For the first beta test, usegpt-5.5, then move to another Zora model after the smoke test succeeds.
model_provider = "zora"
model = "gpt-5.5"
[model_providers.zora]
name = "Zora"
base_url = "https://api.zora.io.vn/v1"
env_key = "ZORA_API_KEY"
wire_api = "responses"
1. Install or verify Codex CLI:
npm install -g @openai/codex
codex --version
2. Write ~/.codex/config.toml with the Zora provider block.
3. Store the returned Zora key in a local environment variable:
ZORA_API_KEY=RETURNED_BY_POST_/api/user
4. Run a smoke test:
codex exec -m gpt-5.5 "Reply with exactly: ZORA_CODEX_OK"
5. For troubleshooting and direct /v1/responses checks, read /docs/api/responses.
Endpoint details and a direct route check are available in Responses API for Codex CLI.
Anthropic-Compatible Route
The Anthropic-compatible route is disabled in current production mode so traffic cannot fall back to the old pool.
POST /v1/messages is disabled in current production mode.
Use /v1/responses or /v1/chat/completions with gpt-5.5, gpt-5.4-mini, or another Zora model from GET /v1/models.
OpenAI SDK
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.ZORA_API_KEY,
baseURL: 'https://api.zora.io.vn/v1',
});
const response = await client.chat.completions.create({
model: 'gpt-5.5',
messages: [{ role: 'user', content: 'Hello Zora' }],
});