Zernio
Zernio
API Reference

Support Assistant

List a thread's support answersGETAsk a support questionPOSTGet a support answerGET
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Support Assistant

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.


POST
/v1/support/runs

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Header Parameters

Idempotency-Key?string

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.

Lengthlength <= 255

Request 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}
Was this page helpful?

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).

message*string

The question. Leading and trailing whitespace is trimmed.

Length1 <= length <= 10000
threadId?string

Continue this thread. The thread must have a run started by your team, and no run in progress.

context?

Ids Ana should look at. Each must belong to your workspace.

maxCostUsd?number

Cost cap for this run, in USD. The run stops at the cap and bills at most this amount.

Range0.5 <= value <= 3
Default3