---
title: "Ask Sybill"
method: POST
path: "/v1/ask-sybill"
---

# Ask Sybill

`POST /v1/ask-sybill`

Submit a one-shot question using organization-level Sybill data.

Requires the **Ask Sybill** permission (`ask_sybill` scope). The request waits
up to 60 seconds. A terminal run returns `200 OK`; a run still in progress
returns `202 Accepted` with `Location` and `Retry-After` headers for polling.

## Request body

- AskSybillRequest — External one-shot Ask Sybill request.
  - `version` integer
  - `message` string, required

## Response `200`

Successful Response

- AskSybillResult
  - `threadId` string, uuid, required
  - `runId` string, uuid, required
  - `status` 'running' | 'completed' | 'failed' | 'stopped', required — Public API run lifecycle status. Mirrors the skynet-internal `RunStatus` values so the wire format is stable even if the internal enum gains new states. Public API consumers should treat any unknown value as terminal-failure.
  - `output` string, nullable
  - `generatedAt` integer, nullable
  - `error` string, nullable

## Other responses

- `202` — Accepted
- `422` — Validation Error

---

[API](https://skmtc.net/sybill/apis/sybill-api.md) · [All operations](https://skmtc.net/sybill/apis/sybill-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sybill/sybill-api/revisions/f499ec011b17/schema)
