Skip to main content

Paywall lifecycle

EventDescriptionPayload fields
updatedSettings changed.paywallId, ownerUserId, changedFields, summarySections
archivedPaywall archived.paywallId, ownerUserId, reason
secret.rotatedAPI secret regenerated.paywallId, ownerUserId, secretLastFour, actorId, actorType
Paywall creation does not emit a webhook because subscriptions can only be configured after a paywall exists.

Integrations

EventDescriptionPayload fields
integration.connectedIntegration enabled.paywallId, ownerUserId, integrationKey, enabledBy
integration.disconnectedIntegration disabled.paywallId, ownerUserId, integrationKey, disabledBy
integration.stripe.webhook.rotatedStripe webhook endpoint recreated.paywallId, ownerUserId, webhookId, url, secretSuffix

User authorization

EventDescriptionPayload fields
authorization.requestedUser approval required.paywallId, ownerUserId, externalUserId, walletUserId, requestId, approvalUrl, mode
authorization.completedUser connected successfully.paywallId, ownerUserId, externalUserId, walletUserId, connectionId
authorization.revokedConnection removed.paywallId, ownerUserId, externalUserId, walletUserId
authorization.declinedAuthorization request declined.paywallId, ownerUserId, externalUserId, walletUserId, requestId, reason

Balances & funds

EventDescriptionPayload fields
balance.deposit.createdBalance deposit recorded.paywallId, ownerUserId, walletUserId, externalUserId, amount, currency, source, activityId
balance.topup.link.createdTop-up checkout link issued.paywallId, ownerUserId, walletUserId, redirectUrl, checkoutSessionId
balance.trial.grantedTrial credits granted.paywallId, ownerUserId, walletUserId, credits, activityId

Charges & usage

EventDescriptionPayload fields
balance.charge.createdManual or virtual charge recorded.paywallId, ownerUserId, walletUserId, activityId, amount, processingFeeAmount
balance.charge.completedCharge marked as settled.paywallId, ownerUserId, activityId, settlementReference
balance.charge.failedCharge attempt failed.paywallId, ownerUserId, walletUserId, activityId, amount, errorCode
usage.charge.createdUsage-based charge computed.paywallId, ownerUserId, walletUserId, activityId, model, promptTokens, completionTokens, cost
usage.charge.deferredStreaming charge deferred until usage is known.paywallId, ownerUserId, deferredRequestId, model
usage.rate.limitedRequest hit usage rate limit.paywallId, ownerUserId, limit, date, model, walletUserId
balance.depletedInsufficient balance for a charge.paywallId, ownerUserId, walletUserId, requestedAmount, availableBalance
request.blockedRequest blocked pre-provider.paywallId, ownerUserId, walletUserId, reason, requestId

Payments

EventDescriptionPayload fields
stripe.checkout.session.completedStripe Checkout session succeeded.paywallId, ownerUserId, checkoutSessionId, amount, currency, walletUserId

Proxy events

EventDescriptionPayload fields
proxy.request.startedProxy received a request.paywallId, ownerUserId, requestId, walletUserId, model
proxy.request.completedRequest completed successfully.paywallId, ownerUserId, requestId, walletUserId, model
proxy.request.failedRequest failed inside the proxy.paywallId, ownerUserId, requestId, walletUserId, model, errorCode
proxy.request.canceledRequest was aborted before completion.paywallId, ownerUserId, requestId, walletUserId, model
proxy.request.blockedProxy blocked the request during routing.paywallId, ownerUserId, requestId, walletUserId, reason