sayintel
Endpoint

Create webhook

POST/api/public/v1/webhookswrite

Register an https endpoint to receive signed event callbacks. Events: run.started, run.completed, run.failed, drafts.ready, message.ready, message.approved, push.completed, or "*" for all. Returns the signing secret ONCE — deliveries carry `X-Sayintel-Signature: t=<unix>,v1=<hex hmac_sha256(secret, `${t}.${rawBody}`)>`. Reject deliveries older than 5 minutes.

Request

curl -X POST "https://sayintel.com/api/public/v1/webhooks" \
  -H "Authorization: Bearer $SAYINTEL_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"url": "<url>"}'

Try it out

Try it outPOST/api/public/v1/webhookswrite

Sent as a bearer token to this site only, and kept in this tab's session storage. It is never written to disk or sent anywhere else.

Paste an API key to run.

Body

NameInTypeRequiredDescription
urlbodystringyesPublic https URL that will receive POST callbacks.
eventsbodyarraynoEvent names to subscribe to. Defaults to ["*"] (all events).
descriptionbodystringno

Response

{
  "ok": true,
  "tool": "create_webhook",
  "kind": "write",
  "data": { ... },
  "error": null
}

Notes

  • Scope required: write. How scopes work.
  • Accepts Idempotency-Key. A retry with the same key replays the first result instead of repeating the work.
  • Same capability over MCP as the tool create_webhook. MCP setup.