---
title: "Create a new question"
method: POST
path: "/v1/ask/questions"
tags: ["Ask APIs"]
---

# Create a new question

`POST /v1/ask/questions`

This API is used to submit questions to Miso.

After a question is submitted, a `question_id` is returned.
Then you can use `question_id` to check the latest status of it's answer
as it is being compiled.

## Request body

- QuestionRequest
  - `user_id` string — The user who made the query. For an anonymous visitor, use `anonymous_id` instead.
  - `anonymous_id` string — The anonymous visitor who made this query.
  - `user_hash` string — The hash of `user_id` (or `anonymous_id`) encrypted by your Secret API Key. `user_hash` is used to prevent unauthorized API access if you are making API calls with a Publishable API Key
  - `user_type` 'anonymous' | 'registered' | 'subscriber' | 'free' | 'paid' — The type of user who made the query, used for rate limiting.
  - `fq` string — Defines a query in Solr syntax that can be used to restrict the superset of products to return, without influencing the overall ranking. `fq` can enable users to drill down to products with specific features based on different product attributes For example, the query below limits the search results to only show products whose size is either `M` or `S` and brand is `Nike`: ``` {"fq": "size:(\"M\" OR \"S\") AND brand:\"Nike\""} ``` You can use `fq` to apply filters against your custom attributes as well. For example, the query below limits the search results to only products whose `designer` attribute is `Calvin Klein` ``` {"fq": "attributes.designer:\"Calvin Klein\""} ``` `fq` can also limit search results by numerical range. For example, the following query limits the results to products that have `rating >= 4`. ``` {"fq": "rating:[4 TO *]"} ```
  - `question` string, required — The question for which an answer is requested.
  - `parent_question_id` string, uuid — The UUID of the parent question if the current question is a follow-up to a previous question.
  - `yearly_decay` number — The yearly decay rate for the answer score.
  - `source_fl` string[] — A list of fields to be returned for the `sources`. Any fields in uploaded product can be assigned, including fields in `custom_attributes`. If specificed field does not exist, that field will not be included in the result. If you use different schema for `custom_attributes` across different products, it is possible that not all returned sources has the some fields. For example, if you include `published_at` and `custom_attributes` in `source_fl`: ```json { "question":"Explain Python GIL", "source_fl":["published_at", "custom_attributes.rating"] } ``` The answer will contain `published_at` field for each source: ```json { "message": "success", "data": { "question": "Explain Python GIL", "question_id": "57aeb083-b943-43b1-86ab-b6108788dd50", "parent_question_id": null, "answer_stage": "Generating summary", "finished": true, "answer": "# Explain Python GIL\n\n## Why do we need the GIL? [1]\n\nThe GIL is currently an essential part of the CPython...[omitted for simplicity]", "sources": [ { "published_at": "2022-05-20T00:00:00+00:00", "custom_attributes": { "rating": 4.7 }, "product_id": "9781800207721", "title": "Multiprocessing – When a Single CPU Core Is Not Enough", "child_title": "Multiprocessing – When a Single CPU Core Is Not Enough", "child_id": "16", "snippet": "Remember the segmentation faults we saw in Chapter 11, ...[omitted]" }, { "published_at": "2015-02-26T00:00:00+00:00", "custom_attributes": { "rating": 4.3 }, "product_id": "9780134034416", "title": "5. Concurrency and Parallelism", "child_title": "5. Concurrency and Parallelism", "child_id": "12", "snippet": "<mark>Click here to view code image\n...[omitted]</mark>" }, { "published_at": "2020-04-30T00:00:00+00:00", "custom_attributes": { "rating": 3.5 }, "product_id": "9781492055013", "title": "1. Understanding Performant Python", "child_title": "1. Understanding Performant Python", "child_id": "2", "snippet": "<mark>Although it still locks Python into running ...[omitted]</mark>" }, { "published_at": "2019-11-15T00:00:00+00:00", "custom_attributes": { "rating": 4.2 }, "product_id": "9780134854717", "title": "7. Concurrency and Parallelism", "child_title": "7. Concurrency and Parallelism", "child_id": "16", "snippet": "<mark>Although Python supports multiple threads of execution...[omitted]</mark>" } ], "related_resources": [] } } ```
  - `related_resource_fl` string[] — A list of fields to be returned for the `related_resources`. Example: `['title', 'url']`.
  - `boost_fq` string — Defines a query in Solr syntax that can be used to boost a subset of products to the top of the ranking. For example, the query below will promote all the relevant products whose brand is `Nike` to the top of recommendation list: ``` { "boost_fq": "brand:\"Nike\"" } ``` For a slightly more complex example, the query below will promote the Nike products which have also been tagged as `ON SALE` to the top of the ranking: ``` { "boost_fq": "brand:\"Nike\" AND tags:\"ON SALE\"" } ``` It is worth mentioning that, Miso will only boost products that are relevant, and will not boost a low performance product only because it matches the boosting query.
  - `cite_start` string — The citation start marker. Example: `[` or `{`
  - `cite_end` string — The citation end marker. Example: `]` or `}`

## Response `200`

Successful Response

- QuestionResponse
  - `data` QuestionResponseData, required
    - `question_id` string, uuid, required — The UUID for the submitted question.
  - `message` string — Human-readable message.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/askmiso/apis/miso-api.md) · [All operations](https://skmtc.dev/askmiso/apis/miso-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/askmiso/miso-api/revisions/f2fa5ba6025f/schema)
