Early bird discounts live! Claim your offer

project.bot.status_changed

Bot enters or exits a degraded state.

Dispatch site not yet wired. Subscribe an endpoint now and deliveries will land automatically once the firing site ships.

When this fires

Fires when a project's bot transitions into or out of a degraded state — Telegram API failures, rate-limit, token revoked, or webhook configuration drift.

Required ability

project:view-any — token must carry this at mint time to subscribe an endpoint to this event.

Payload

{
  "id": "evt_01HX...",
  "type": "project.bot.status_changed",
  "created_at": "2026-05-18T10:05:00Z",
  "api_version": "2026-05-01",
  "project_id": "prj_01HX...",
  "data": {
    "project_id": "prj_01HX...",
    "bot_id": "bot_01HX...",
    "status": "degraded",
    "reason": "telegram_api_unauthorized"
  }
}

Field reference

FieldTypeNotes
idstring ULIDUnique event id, prefixed evt_. Use for idempotent processing.
typestringAlways project.bot.status_changed for this event.
created_atISO 8601 timestampServer-side emission time.
api_versionstringWebhook API contract version.
project_idstring ULIDProject this event belongs to.
data.project_idstring ULIDMirrors top-level project_id.
data.bot_idstring ULIDbot identifier.
data.statusenum: healthy | degradedNew health state.
data.reasonstringShort machine code describing the cause; absent when transitioning back to healthy.

Caveats

  • DEFERRED — the dispatch site is not wired yet. The event is reserved so subscriptions taken now stay valid once it ships.
  • Health transitions are not the same as connect / disconnect. A degraded bot is still attached to the project; see project.bot.disconnected for explicit removal.

How is this guide?

On this page

MemberPass is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request