Publish an answer for a coverage gap
Beta. Adds a reviewed question and answer to a knowledge base as a custom answer and starts its sync, so the assistant answers it next time.
POST
/
analytics
/
doc-proposals
/
publish
Publish an answer for a coverage gap
curl --request POST \
--url https://app.mithunai.com/mithunai/api/v1/analytics/doc-proposals/publish \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"knowledge_base_id": "<string>",
"question": "<string>",
"answer": "<string>"
}
'import requests
url = "https://app.mithunai.com/mithunai/api/v1/analytics/doc-proposals/publish"
payload = {
"knowledge_base_id": "<string>",
"question": "<string>",
"answer": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({knowledge_base_id: '<string>', question: '<string>', answer: '<string>'})
};
fetch('https://app.mithunai.com/mithunai/api/v1/analytics/doc-proposals/publish', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"source_id": "<string>",
"job_id": "<string>"
}Beta. Adds the pair to the knowledge base’s custom answers source that already asks the question (replacing its answer), or else one with room, or else a new source named Published answers. Then that source’s sync starts. The answer is used once the sync finishes; poll the returned job. The gap’s
question_keys are retired, so it leaves the list. Requires the owner or admin role, and permission to edit the knowledge base.
string
required
The knowledge base to publish into (UUID). Another organization’s returns
404.string
required
The question as it should be published, at most 500 characters. Reword it if it names a person.
string
required
The reviewed answer, read as Markdown, at most 4,000 characters.
string[]
The gap’s
question_keys, from List coverage gaps to
answer.Response
Answers202.
string
required
The custom-answers source holding the pair.
string
required
The sync started for it.
Last modified on November 7, 2026
Publish an answer for a coverage gap
curl --request POST \
--url https://app.mithunai.com/mithunai/api/v1/analytics/doc-proposals/publish \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"knowledge_base_id": "<string>",
"question": "<string>",
"answer": "<string>"
}
'import requests
url = "https://app.mithunai.com/mithunai/api/v1/analytics/doc-proposals/publish"
payload = {
"knowledge_base_id": "<string>",
"question": "<string>",
"answer": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({knowledge_base_id: '<string>', question: '<string>', answer: '<string>'})
};
fetch('https://app.mithunai.com/mithunai/api/v1/analytics/doc-proposals/publish', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"source_id": "<string>",
"job_id": "<string>"
}