---
title: "NLWeb-shaped catalog ask (POST)"
method: POST
path: "/ask"
tags: ["discovery"]
---

# NLWeb-shaped catalog ask (POST)

`POST /ask`

## Request

- Base URL: `https://skillselion.com`
- URL: `https://skillselion.com/ask`
- Auth: none declared

Same as GET /ask. Honors Idempotency-Key. `{ "stream": true }` for SSE.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `query` string
  - `q` string
  - `question` string
  - `stream` boolean

## Response `200`

schema.org ItemList.

- AskResult
  - `@type` 'ItemList', required
  - `name` string
  - `query` string
  - `numberOfItems` integer
  - `itemListElement` object[], required
  - `_meta` object, required
    - `response_type` 'item_list', required
    - `version` string, required
    - `site` string, uri

## Other responses

- `400`: Invalid query or body.
- `401`: Authentication required (staff routes only).
- `404`: No listing or route matches.
- `405`: Method not allowed.
- `429`: Rate limited. Retry-After and RateLimit headers are set.
- `500`: Upstream or server error.

---

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