---
title: "Get asynchronous ask job status"
method: GET
path: "/ask/jobs/{jobId}"
tags: ["agents"]
---

# Get asynchronous ask job status

`GET /ask/jobs/{jobId}`

## Request

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

Poll a previously accepted ask job until the status is completed or failed.

## Path parameters

- `jobId` string, required

## Headers

- `Mana-API-Version` string

## Response `200`

Current ask job status and result when complete.

- AsyncAskJobStatus
  - `job_id` string, required
  - `status` 'queued' | 'running' | 'completed' | 'failed', required
  - `result` AskResponse
    - `_meta` object, required
      - `response_type` 'answer' | 'endpoint' | 'job', required
      - `response_format` string: NLWeb response format, usually conversational_search.
      - `version` string, required: NLWeb-compatible response version.
      - `source` string
    - `query` string
    - `answer` string, required
    - `results` object[], required
  - `error` ErrorEnvelope: Standard error envelope. Stable error codes for agents: invalid_request, unauthorized, forbidden, not_found, conflict, validation_failed, rate_limited, timeout, upstream_unavailable, internal_error. Retry only 408, 425, 429, 500, 502, 503, and 504. Do not retry 400, 401, 403, 404, 409, or 422 without changing the request. For 5xx, use full-jitter exponential backoff: 500 ms initial delay, multiplier 2, cap 8 seconds, stop after 4 total attempts.
    - `code` integer, required: Non-zero application error code.
    - `error_code` 'invalid_request' | 'unauthorized' | 'forbidden' | 'not_found' | 'conflict' | 'validation_failed' | 'rate_limited' | 'timeout' | 'upstream_unavailable' | 'internal_error': Stable agent-readable error code when emitted.
    - `message` string, required: Human-readable error message.

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