Minyut/Docs
API reference

Webhooks.

Minyut does not currently send outbound webhooks to customer servers. This page explains the billing webhook Minyut receives from Razorpay and what is planned for query-event notifications.


Billing webhooks (Razorpay → Minyut)

Minyut uses Razorpay Subscriptions for billing. Razorpay sends signed webhook events to Minyut's edge function when subscription state changes. These are internal events — you do not need to configure anything.

Events handled internally:

Each event updates your profiles row in real time. Your dashboard reflects the change within seconds.

Query event notifications (coming soon)

A future release will let you register a webhook URL in the dashboard and receive a POST request for each visitor query. This lets you:

The payload will look like this:

json
{
  "event": "query.completed",
  "chatbot_id": "uuid",
  "query": "What is your return policy?",
  "answer": "Returns are accepted within 30 days…",
  "was_answered": true,
  "timestamp": "2026-05-25T10:30:00Z"
}

Payloads will be signed with HMAC-SHA256 so you can verify they came from Minyut. Contact us if you need this now — we can prioritise it.

Webhook security

When outbound webhooks ship, every request will include an X-Minyut-Signature header. Verify it server-side:

ts
import crypto from "crypto";

function verifySignature(body: string, signature: string, secret: string) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(body)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}