---
title: "List a thread's support answers"
method: GET
path: "/v1/support/runs"
tags: ["Support Assistant"]
---

# List a thread's support answers

`GET /v1/support/runs`

## Request

- Base URL: `https://zernio.com/api`
- URL: `https://zernio.com/api/v1/support/runs`
- Auth: HTTP bearer

Lists the runs of one thread that your team started, with each question and its answer, 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.

## Query parameters

- `threadId` string, required
- `limit` integer
- `cursor` string

## Response `200`

The thread's runs, oldest first

- object
  - `runs` SupportRun[], required
    - `runId` string, required: Run id, a 24-character hex string.
    - `threadId` string, required: Conversation thread id. Send it back as `threadId` to ask a follow-up in the same thread.
    - `status` 'queued' | 'running' | 'completed' | 'needs_human' | 'failed', required: queued and running are in progress. needs_human means the assistant handed the question to a person instead of answering; when `supportTicket` is set, a Zernio teammate has been notified and will follow up by email.
    - `stopReason` 'answered' | 'human_review' | 'cost_cap' | 'deadline' | 'max_iterations' | 'error' | 'expired' | 'null', nullable, required: Why the run stopped. Null while it is in progress.
    - `question` string, nullable, required: The question as asked, with leading and trailing whitespace trimmed. Null only on runs created before this field was added.
    - `answer` string, nullable, required: The assistant's answer. Null while the run is in progress or when it failed.
    - `diagnosis` SupportRunDiagnosis, required
      - `category` 'account_connection' | 'content_rejected' | 'rate_limited' | 'platform_issue' | 'zernio_issue' | 'billing' | 'configuration' | 'how_to' | 'other', required: What kind of problem the answer describes. New values may be added: treat any value you do not recognize as `other`.
      - `cause` string, nullable, required: The cause the answer gives, in one sentence. Null when the answer reports no problem, for example a how-to question.
      - `fixSteps` string[], required: The steps the answer recommends, in order. Empty when it recommends none.
      - `docsLinks` string[], required: Links to docs.zernio.com that the answer itself cites. Empty when it cites none.
      - `whoMustAct` 'integrator' | 'end_user' | 'zernio' | 'platform' | 'none', required: Who has to act to resolve it: you (`integrator`), your end user, Zernio, the social platform, or nobody. New values may be added: treat any value you do not recognize as `none`.
    - `usage` SupportRunUsage, required
      - `inputTokens` integer, required
      - `outputTokens` integer, required
      - `cacheReadTokens` integer, required
      - `cacheWriteTokens` integer, required
    - `costUsd` number, required: The exact amount charged for the question, in USD, never above `maxCostUsd`. 0 for a failed run.
    - `maxCostUsd` number, required: The cost cap this run was started with, in USD.
    - `createdAt` string, date-time, required
    - `startedAt` string, date-time, nullable, required
    - `finishedAt` string, date-time, nullable, required
    - `supportTicket` object, nullable, required: Set when the assistant opened a support ticket with the Zernio team. Null otherwise. A teammate follows up by email with the user whose API key started the run.
      - `openedAt` string, date-time, required
    - `pollAfterSeconds` integer: Seconds to wait before polling again. Present only while the run is queued or running.
  - `nextCursor` string, nullable, required: Pass as `cursor` to get the next page. Null on the last page.

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `402`: A card is required (code `payment_method_required`) or the last payment failed (code `payment_required`).
- `403`: Code `insufficient_permissions`: not an unrestricted API key, or a read-only, restricted or profile-scoped user.
- `404`: Code `support_thread_not_found`: no run in this thread was started by your team, or its runs are older than 90 days.

## Changes

- **2026-10-13** `27c96850cc66`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/support/runs/get.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/4e74db179e73?raw)
