member.resource_pending

A subscriber is entitled to a resource but has no account on its connector yet, so access waits for them to connect one.

When this fires

A purchase entitles a subscriber to a resource on a connector where the subscriber has no connected account — a member who bought on the portal with only an email, or a plan that spans a connector the member has not linked. Nothing can be issued, so the access ledger records a grant in state pending_identity and this event says so. The moment the member connects an account on that connector (from the portal, by signing in through the connector, or by adopting an account from a sibling project), the grant is issued and member.resource_added follows with the same grant_id.

Required ability

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

Payload

{
  "id": "evt_01HX...",
  "type": "member.resource_pending",
  "created_at": "2026-09-12T10:05:30Z",
  "api_version": "2026-05-01",
  "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
  "data": {
    "subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4",
    "subscriber_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
    "resource_id": "b73c5f21-9d80-4a6e-8215-4f70ce13a9d6",
    "resource_kind": "telegram:channel",
    "connector": "telegram",
    "grant_id": "7d1c3e9a-2b64-4f0e-9a58-3c6b1d8e2f47",
    "mode": "bearer_link"
  }
}

Field reference

FieldTypeNotes
idstring ULIDUnique event id, prefixed evt_. Use for idempotent processing.
typestringAlways member.resource_pending for this event.
created_atISO 8601 timestampServer-side emission time.
api_versionstringWebhook API contract version.
project_idstring UUIDProject this event belongs to.
data.subscription_idstring UUIDSubscription that entitles the member.
data.subscriber_idstring UUIDSubscriber's project-scoped user id.
data.resource_idstring UUIDResource the member is waiting to be admitted to.
data.resource_kindstringThe resource's kind: manual, or connector:kind (telegram:channel).
data.connectorstringThe connector the member needs an account on (telegram today).
data.grant_idstring UUIDThe access ledger row, in state pending_identity; read it with GET /v1/subscriptions/{subscription}/grants.
data.modeenum: bearer_link | membership | role | creator_taskHow access will be given once the account is connected.

Caveats

  • One event per resource the purchase entitles the member to on that connector; a plan with three channels raises three, all waiting on the same account.
  • Nothing is sent to the member by the bot — it cannot reach them yet. The portal shows the pending access on the membership card; an integration that wants to nudge them should use the email it holds.
  • A subscription that ends before the account is connected leaves the grant pending_identity in the ledger; no member.resource_removed is raised for access that was never given.

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