---
title: "Create asynchronous ask job"
method: POST
path: "/ask/jobs"
tags: ["agents"]
---

# Create asynchronous ask job

`POST /ask/jobs`

## Request

- Base URL: `https://mana.am`
- URL: `https://mana.am/ask/jobs`
- Auth: none required

NLWeb-compatible asynchronous ask pattern. Returns 202 Accepted with Location, Retry-After, job_id, and status_url so agents can poll instead of holding a long request open.

## Headers

- `Mana-API-Version` string
- `Idempotency-Key` string

## Request body

- AskRequest
  - `query` union
    - string: Natural-language question about Mana.
    - object
      - `text` string, required: NLWeb-style natural-language query text.
      - `site` string: Optional NLWeb site/domain hint.
  - `question` string: Alias for query.
  - `prefer` object
    - `streaming` boolean: When true, return text/event-stream.
  - `streaming` boolean: Set true to request SSE streaming.
  - `stream` boolean: Alias for streaming.

## Response `202`

Ask job accepted for asynchronous polling.

- AsyncAskJob
  - `job_id` string, required
  - `status` 'queued' | 'running' | 'completed' | 'failed', required
  - `status_url` string, uri, required
  - `query` string
  - `_meta` object

## Other responses

- `429`: Rate limit exceeded. Public reads allow 120 requests per 60 seconds; agent discovery and MCP probes allow 60 requests per 60 seconds. Retry after the provided Retry-After or RateLimit-Reset window.
- `500`: Unexpected server error. Retry later or check status documentation before repeating automated requests.

---

[API](https://skmtc.dev/mana/apis/mana-public-read-api.md) · [All operations](https://skmtc.dev/mana/apis/mana-public-read-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mana/apis/mana-public-read-api/revisions/aa8cbea94bc5?raw)
