Subscription
owner_idOwner ID
statusSubscription status (active, cancelled, in_trial, etc.)
mrrMonthly recurring revenue in cents
has_scheduled_changesWhether subscription has pending changes
next_billing_atUnix timestamp of next billing date (null if not scheduled)
current_term_startUnix timestamp of current term start (null if not applicable)
current_term_endUnix timestamp of current term end (null if not applicable)
trial_startUnix timestamp of trial start (null if not in trial)
trial_endUnix timestamp of trial end (null if not in trial)
cancelled_atUnix timestamp when cancelled (null if not cancelled)
created_atUnix timestamp when subscription was created (null if not available)
chargebee_customer_idChargebee customer ID
chargebee_subscription_idChargebee subscription ID
pause_dateUnix timestamp of scheduled or active pause (null if no pause)
resume_dateUnix timestamp when subscription will resume from pause (null if no pause)
emailChargebee customer email
nameChargebee customer full name (first_name + last_name)
billing_countryChargebee customer billing address country (ISO 3166-1 alpha-2)
FeatureInfo
planPlan that provides this feature
levelNumeric level for gating
SubscriptionItem
item_price_idItem price ID (e.g., pro-plan-USD-Monthly)
item_typeType of item (plan or addon)
quantityQuantity of the item
unit_pricePrice per unit in cents
trial_endUnix timestamp when item trial ends (0 if not in trial)
is_in_trialWhether the item is currently in trial
trial_days_remainingDays remaining in trial (0 if not in trial)
EventUsageResponse
error_codeError code if request failed
error_messageHuman-readable error description
DailyEventUsage
usage_dateDate in YYYY-MM-DD format
event_countNumber of events on this date
ChargebeeUsageResponse
error_codeError code if request failed
error_messageHuman-readable error description
ChargebeeUsageRecord
idsubscription_iditem_price_idusage_dateUnix timestamp
quantityUsage quantity as string
UpdateAddonRequest
addon_idAddon item price ID (e.g., additional-custom-domain)
quantityNew quantity for the addon
SwitchAddonTierRequest
current_addon_idCurrent addon to remove (null if adding new)
new_addon_idNew addon to add (null if removing entirely)
invoice_immediatelyGenerate prorated invoice immediately (default true)
CreateDomainResponse
successerror_codeError code if creation failed (e.g., DOMAIN_EXISTS, DOMAIN_ALREADY_OWNED)
error_messageHuman-readable error description
messageSuccess message
GetDomainResponse
successerror_codeError code if lookup failed (e.g., NOT_FOUND)
error_messageHuman-readable error description
DeleteDomainResponse
successmessageerror_codeError code if deletion failed
error_messageHuman-readable error description
ListDomainsResponse
successerror_codeError code if listing failed
error_messageHuman-readable error description
CheckDomainResponse
successfoundDomain routes to FunnelFlux (redirect check passed)
ssl_validSSL certificate is valid (TLS handshake succeeded)
http_statusHTTP status from debug endpoint
ssl_errorSSL error message if TLS failed
response_time_msResponse time in milliseconds
error_messageError message if check failed
check_timestampUnix timestamp when check was performed
cloudflare_statusCloudflare hostname status (pending, active, moved, deleted)
cloudflare_ssl_statusCloudflare SSL status (initializing, pending_validation, active)
DomainInfo
idLedger domain ID
domainDomain hostname
ownerOwner ID
statusOverall status (pending, active, failed)
created_atISO timestamp
cloudflare_idCloudflare custom hostname ID
verification_errorsDomainSummary
idLedger domain ID
domainDomain hostname
statusOverall status (may be empty until refreshed)
cloudflare_idCloudflare custom hostname ID (may be empty)
ssl_statusSSL certificate status (may be empty until refreshed)
verification_errorscreated_atISO timestamp
DomainSSLInfo
statusSSL status (pending_validation, active, etc.)
txt_nameTXT record name for DCV validation
txt_valueTXT record value for DCV validation
DomainOwnershipVerification
typeVerification type (txt)
nameTXT record name for ownership
valueTXT record value for ownership
DomainParsedInfo
subdomainSubdomain portion (e.g., track) or empty for root
root_domainRoot domain (e.g., example.com)
DomainBillingInfo
total_domainsTotal domains for this owner
free_domainsNumber of free domains (always 2)
billable_domainsDomains that count toward billing (total - 2, min 0)
addon_quantityCurrent addon quantity in Chargebee
DiscountEligibilityResponse
eligibleWhether user can receive a discount
last_discount_dateISO 8601 timestamp of last discount (empty string if never)
cooldown_monthsCooldown period in months (always 12)
eligible_afterISO 8601 date when eligible again (empty string if eligible now)
current_couponsActive coupon IDs on subscription
has_cancel_flow_couponWhether a cancel-flow coupon is active
PauseSubscriptionRequest
pause_monthsNumber of months to pause (1, 2, or 3)
PauseSubscriptionResponse
successpause_dateISO 8601 timestamp when pause begins
resume_dateISO 8601 timestamp when subscription resumes
messageChangePlanResponse
successeffective_dateISO 8601 timestamp when change takes effect
messageExtendTrialRequest
extension_daysDays to extend trial (7 or 14)
ExtendTrialResponse
successnew_trial_endISO 8601 timestamp of new trial end
extended_by_daysActual days extended
messageCancellationFeedbackRequest
event_typeCancellation flow event type
flow_typeType of cancel flow
languageUser's language code
reasonLegacy alias for canonical English reason label
reason_codeCanonical reason code for cancellation
reason_labelCanonical English reason label. Free translated UI copy should not be sent here.
follow_up_responseFollow-up response text
feedbackFree-text feedback
outcomeOutcome of the cancel flow
offer_shownRetention offer shown to user
offer_selectedRetention action selected by user
offer_acceptedWhether the user accepted the offer
pause_duration_monthsPause duration in months when offer_selected is PAUSE
billing_countryUser's billing country code
plan_idOptional client-provided plan ID used as analytics context when subscription enrichment cannot provide a non-empty server value; backend subscription value wins when available
subscription_statusOptional client-provided subscription status used as analytics context when subscription enrichment cannot provide a non-empty server value; backend subscription value wins when available
created_at_clientOptional client timestamp for late-arrival ordering. Server created_at remains authoritative.