{
"type": "promotionalEntitlement.ends_soon",
"messageId": "a6ce...",
"traceId": "549a...",
"id": "promo-entitlement-id",
"status": "Active",
"feature": {
"id": "feature-test-id",
"name": "feature-test-name",
"unit": "seat",
"units": "seats",
"description": "feature test description",
"featureType": "NUMBER",
"meterType": "INCREMENTAL",
"status": "ACTIVE"
},
"customer": {
"entityId": "customer-uuid",
"id": "customer-test-id",
"name": "customer-test",
"email": "john@example.com",
"billingId": "customer-test-billing-id",
"crmId": "customer-test-crm-id"
},
"hasUnlimitedUsage": false,
"usageLimit": 100,
"resetPeriod": "MONTH",
"resetPeriodConfiguration": {
"accordingTo": "SubscriptionStart"
},
"isVisible": true,
"period": "1 month",
"endDate": "2025-11-10T00:00:00.001Z"
}Promotional entitlement ends soon
Fired 7 days before a promotional entitlement expires. Use it to notify users, extend promos, or trigger upgrade CTAs. Payload shape matches other promotionalEntitlement events.
{
"type": "promotionalEntitlement.ends_soon",
"messageId": "a6ce...",
"traceId": "549a...",
"id": "promo-entitlement-id",
"status": "Active",
"feature": {
"id": "feature-test-id",
"name": "feature-test-name",
"unit": "seat",
"units": "seats",
"description": "feature test description",
"featureType": "NUMBER",
"meterType": "INCREMENTAL",
"status": "ACTIVE"
},
"customer": {
"entityId": "customer-uuid",
"id": "customer-test-id",
"name": "customer-test",
"email": "john@example.com",
"billingId": "customer-test-billing-id",
"crmId": "customer-test-crm-id"
},
"hasUnlimitedUsage": false,
"usageLimit": 100,
"resetPeriod": "MONTH",
"resetPeriodConfiguration": {
"accordingTo": "SubscriptionStart"
},
"isVisible": true,
"period": "1 month",
"endDate": "2025-11-10T00:00:00.001Z"
}Body
Event type discriminator.
"promotionalEntitlement.ends_soon"Promotional entitlement ID.
Canonical representation of a feature that can be packaged in plans or add-ons.
Show child attributes
Show child attributes
Minimal customer object embedded in events.
Show child attributes
Show child attributes
Scheduled expiration time (ISO 8601).
Unique webhook message ID.
Correlation ID for tracing.
Current status of the entitlement.
Whether usage is unlimited.
Max usage if not unlimited.
Period for usage resets (e.g.
Reset anchor configuration (e.g., according to subscription start).
Whether the entitlement is visible to the user.
Human-readable period (e.g. "1 month").
Always 7 — the number of days before expiration this notification is fired.
