member.* events

Member (subscriber) lifecycle events.

Member (subscriber) lifecycle events. A "member" in webhook events is the project-scoped subscriber, not a team member. Fires on joining, churning, bans, access grants and revocations, and the accounts a member connects on the connectors.

EventFires when
member.joinedAn access code is redeemed against a non-trial plan. Not paid checkouts.
member.trial_joinedA cardless trial starts, or a code is redeemed against a trial plan.
member.convertedA trial converts to a paying subscription (Stripe only).
member.churnedA subscriber's subscription ends without renewal.
member.removedA subscriber is removed without being banned (e.g., kicked for inactivity).
member.bannedA creator bans a subscriber.
member.unbannedA ban is lifted.
member.kickedA subscriber is ejected from the project without a ban: status goes to churned, active subscriptions are cancelled, and every resource grant is revoked.
member.resource_addedA subscriber is added to an additional resource (channel, group).
member.resource_pendingA subscriber is entitled to a resource on a connector they hold no account on yet; access is issued the moment they connect one.
member.resource_reissuedA creator, an agent or the member's own refresh revokes the grant a subscriber holds on a resource so a fresh one can be issued.
member.resource_removedA subscriber is removed from a specific resource.
member.access_extendedA connector outage of an hour or more ended and its length was banked on the subscriber's purchase: a fixed-term purchase ends later now, a recurring one runs that much longer after its last paid period.
member.identity_linkedA subscriber connects a platform account: from the portal, by a first sign-in through a connector, or by adopting one from a sibling project.
member.identity_unlinkedA connected platform account is removed from a subscriber, by them on the portal or by the creator over the API.

Example envelope

Subscription-driven member events (joined, trial_joined, converted, churned, resource_added, resource_removed) carry flat identifier fields:

{
  "id": "evt_01HX...",
  "type": "member.joined",
  "created_at": "2026-05-18T10:05:00Z",
  "api_version": "2026-05-01",
  "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
  "data": {
    "subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4",
    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
    "plan_id": "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b",
    "subscriber_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
    "access_code": "SLATE-SUNDAY-4F2A9"
  }
}

Moderation events (banned, unbanned, kicked, removed) instead nest a subscriber object:

{
  "id": "evt_01HX...",
  "type": "member.banned",
  "created_at": "2026-05-18T10:05:00Z",
  "api_version": "2026-05-01",
  "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
  "data": {
    "subscriber": {
      "id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
      "status": "banned"
    },
    "reason": "Spamming referral links"
  }
}

data.subscriber carries the member's id and status only; resolve their connected accounts with the member identities endpoint.

Guarantees

  • member.joined and member.trial_joined fire only for zero-payment acquisition: access-code redemptions and cardless trials. Paid checkouts emit subscription.activated with no member.* join event.
  • member.trial_joined accompanies subscription.trial_started on the cardless-trial and access-code paths.
  • member.converted fires at most once per trial conversion, and only for Stripe.
  • No member.* payload carries the subscriber's email. Resolve subscriber detail with the member endpoint using subscriber_id.
  • The members endpoint returns email (member-chosen and verified) and billing_email (taken from their payment provider, unverified). Both require a token with project-user:view.

Required ability

Tokens subscribing to member.* events must carry project-user:view at mint time.

Events

Compare with the current pages

How is this guide?

On this page

Subscriby 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