billing.tier_downgraded
Creator downgrades to a lower MemberPass tier.
project_id is always null for billing events.When this fires
The creator switches their MemberPass subscription to a lower tier. Tier-locked features become unavailable from effective_at onward.
Required ability
billing:read — token must carry this at mint time to subscribe an endpoint to this event.
Payload
{
"id": "evt_01HX...",
"type": "billing.tier_downgraded",
"created_at": "2026-05-18T10:05:00Z",
"api_version": "2026-05-01",
"project_id": null,
"data": {
"creator_id": "cre_01HX...",
"from_tier": "growth",
"to_tier": "starter",
"effective_at": "2026-06-18T00:00:00Z"
}
}Field reference
| Field | Type | Notes |
|---|---|---|
id | string ULID | Unique event id, prefixed evt_. Use for idempotent processing. |
type | string | Always billing.tier_downgraded for this event. |
created_at | ISO 8601 timestamp | Server-side emission time. |
api_version | string | Webhook API contract version. |
project_id | null | Always null — account-level event. |
data.creator_id | string ULID | Creator whose tier changed. |
data.from_tier | string | Previous tier slug. |
data.to_tier | string | New tier slug. |
data.effective_at | ISO 8601 timestamp | When the new tier takes effect (often deferred to period end). |
Caveats
effective_atmay be in the future when downgrades are scheduled to take effect at the next renewal boundary.- Tier-locked features (Teams, custom roles, etc.) may become read-only or hidden after
effective_at.
Related events
billing.tier_upgraded— opposite direction.billing.tier_cancelled— terminal downgrade path.- Billing events overview — back to family overview.
How is this guide?