Ask a support question
Asks Ana, the Zernio support agent, a question about your workspace. Each question
starts a run that answers asynchronously: this returns 202 with a runId, and the
answer arrives through the support.run.completed and support.run.failed webhooks.
GET /v1/support/runs/{runId} is the fallback. Pass threadId to continue an earlier
conversation, and context to point Ana at a post, account or profile. When Ana finds
a problem on Zernio's side she opens a support ticket with the team (see
supportTicket on the run) and the run ends as needs_human.
Pricing. Each question is billed once, when its run finishes, for the tokens Ana used:
- Input: $6 per million tokens
- Output: $30 per million tokens
- Cache reads: $0.60 per million tokens
- Cache writes: $7.50 per million tokens
Most questions cost between $0.10 and $0.50. A run never bills more than its
maxCostUsd ($0.50 to $3, $3 by default): near the cap Ana stops investigating and
answers with what she found. Runs that end as needs_human are billed like any other;
failed runs are free. The run's usage holds the token counts and costUsd the amount
billed. Charges appear as "Support API" on your invoice.
Requires an unrestricted API key, usage-based billing and a card on file. Limits per account: 3 active runs and $100 of runs per UTC month. Send an Idempotency-Key header to make retries safe.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Header Parameters
Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.supportassistant.askSupportQuestion({ body: { message: 'Hello, world!', },});console.log(data);{ "runId": "64f0a1b2c3d4e5f6a7b8c9d1", "threadId": "64f0a1b2c3d4e5f6a7b8c9d2", "status": "queued", "pollAfterSeconds": 5}List a thread's support answers
Lists the runs of one thread that your team started, with Ana's answers, oldest first. Replies from the Zernio team after a support ticket arrive by email and are not included. Runs are kept for 90 days. Page through a long thread with `limit` and `cursor`: pass `nextCursor` as `cursor` until it is null.
Get a support answer
Returns a run started by your team, with Ana's answer once it is ready. Prefer the `support.run.completed` and `support.run.failed` webhooks; use this as the fallback, waiting `pollAfterSeconds` between polls. `costUsd` is the amount billed for the question, never above `maxCostUsd`, and 0 for a failed run (rates on Ask a support question).