Skip to main content
MITHUNAI does not send webhooks. There are no event subscriptions, no signed callbacks and no delivery retries, so nothing will call your endpoint when a sync finishes or a question goes unanswered. Webhooks are listed as planned on Product status, with no committed date. The Model Gateway is a separate surface and notifies webhooks about its own events, such as a provider credential reaching a monthly cap; it sends nothing about sources, assistants or answers. The two things teams usually want webhooks for can be done today by polling the HTTP API with an API key.

Know when a sync finishes

Sync a source returns 202 with the ingestion job. Poll Get a job until is_active is false, then read status: succeeded, partial, failed or cancelled.
Run this at the end of the pipeline that publishes your documentation, and alert from your own tooling when the status is not succeeded. List jobs shows recent runs across all sources.

Find questions your content does not answer

List unanswered questions returns the questions your assistants declined, newest first, for the last 7d, 30d or 90d. Poll it on a schedule, for example once a day, and file the new ones in your own tracker. It needs the Owner or Administrator role, because it returns other people’s questions.
Each row carries question, asked_at, assistant_id, conversation_id and channel. It never carries who asked.

React to one answer as it happens

When your own backend asks the question, it already sees the outcome. The terminal answer.completed event of a streamed answer carries abstained and abstention_reason, such as no_evidence or weak_best_match, so your code can act on an abstention the moment it happens. The values are listed on Stream a message. The widget receives a coarser set, unsupported or unavailable, and the reason is not stored: a message read back later carries abstained but no reason.
Last modified on November 7, 2026