Model Reference

This page is a reference to all the models in the Python SDK. It exists on a seperate page to not clutter the main API reference.

Balance

class autumn.models.balance.Balance(**data)[source]
balance: int
feature_id: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

required_balance: Optional[int]

Customer models

class autumn.models.customers.ProductStatus(*values)[source]
ACTIVE = 'active'
EXPIRED = 'expired'
SCHEDULED = 'scheduled'
TRIALING = 'trialing'
class autumn.models.customers.FeatureType(*values)[source]
BOOLEAN = 'boolean'
CONTINUOUS_USE = 'continuous_use'
SINGLE_USE = 'single_use'
STATIC = 'static'
class autumn.models.customers.CustomerInvoice(**data)[source]
created_at: int
currency: str
hosted_invoice_url: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

product_ids: List[str]
status: str
stripe_id: str
total: float
class autumn.models.customers.CustomerFeature(**data)[source]
balance: Optional[float]
breakdown: Optional[List[Dict[str, Any]]]
id: str
included_usage: Optional[float]
interval: Optional[ProductItemInterval]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
next_reset_at: Optional[int]
type: Optional[FeatureType]
unlimited: Optional[bool]
usage: Optional[float]
class autumn.models.customers.CustomerProduct(**data)[source]
canceled_at: Optional[int]
current_period_end: Optional[int]
current_period_start: Optional[int]
group: Optional[str]
id: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: Optional[str]
quantity: Optional[int]
started_at: int
status: ProductStatus
subscription_ids: Optional[List[str]]
class autumn.models.customers.Customer(**data)[source]
created_at: int
email: Optional[str]
env: AppEnv
features: Dict[str, CustomerFeature]
fingerprint: Optional[str]
id: Optional[str]
invoices: Optional[List[CustomerInvoice]]
metadata: Dict[str, Any]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: Optional[str]
payment_method: Optional[Any]
products: List[CustomerProduct]
referrals: Optional[List[CustomerReferral]]
stripe_id: Optional[str]
class autumn.models.customers.PriceInfo(**data)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

primaryText: str
secondaryText: Optional[str]
class autumn.models.customers.ItemInfo(**data)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

primaryText: str
secondaryText: Optional[str]
class autumn.models.customers.ProductStatus(*values)[source]
ACTIVE = 'active'
EXPIRED = 'expired'
SCHEDULED = 'scheduled'
TRIALING = 'trialing'
class autumn.models.customers.GetPricingTableParams(**data)[source]
customer_id: Optional[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.customers.PricingTableProduct(**data)[source]
buttonText: str
id: str
items: List[ItemInfo]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
price: PriceInfo

Feature models

class autumn.models.features.Feature(**data)[source]
feature_id: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

quantity: int
class autumn.models.features.FeaturePreview(**data)[source]
feature_id: str
feature_name: str
message: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

products: List[Product]
scenario: Literal['usage_limit', 'feature_flag']
title: str
upgrade_product_id: str

Product models

class autumn.models.products.FreeTrialDuration(*values)[source]
DAY = 'day'
class autumn.models.products.UsageModel(*values)[source]
PAY_PER_USE = 'pay_per_use'
PREPAID = 'prepaid'
class autumn.models.products.ProductItemInterval(*values)[source]
DAY = 'day'
HOUR = 'hour'
LIFETIME = 'lifetime'
MINUTE = 'minute'
MONTH = 'month'
MULTIPLE = 'multiple'
QUARTER = 'quarter'
SEMI_ANNUAL = 'semi_annual'
WEEK = 'week'
YEAR = 'year'
class autumn.models.products.PriceCurrencyPair(**data)[source]
currency: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

price: float
class autumn.models.products.PriceTier(**data)[source]
amount: Union[float, str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

to: float
class autumn.models.products.ProductItem(**data)[source]
billing_units: Optional[float]
entity_feature_id: Optional[str]
feature_id: Optional[str]
included_usage: Union[float, str, None]
interval: Optional[ProductItemInterval]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

price: Optional[float]
reset_usage_on_billing: Optional[bool]
reset_usage_when_enabled: Optional[bool]
usage_model: Optional[UsageModel]
class autumn.models.products.FreeTrialDuration(*values)[source]
DAY = 'day'
class autumn.models.products.FreeTrial(**data)[source]
duration: FreeTrialDuration
length: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

unique_fingerprint: bool
class autumn.models.products.ProductScenario(*values)[source]
ACTIVE = 'active'
CANCEL = 'cancel'
DOWNGRADE = 'downgrade'
NEW = 'new'
RENEW = 'renew'
SCHEDULED = 'scheduled'
UPGRADE = 'upgrade'
class autumn.models.products.Product(**data)[source]
base_variant_id: Optional[str]
created_at: float
env: AppEnv
free_trial: Optional[FreeTrial]
group: Optional[str]
id: str
is_add_on: bool
is_default: bool
items: List[ProductItem]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: Optional[str]
scenario: Optional[ProductScenario]
version: float
class autumn.models.products.ProductPreview(**data)[source]
current_product_name: str
due_next_cycle: PriceCurrencyPair
due_today: PriceCurrencyPair
items: List[ProductItem]
message: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

next_cycle_at: int
options: List[str]
product_id: str
product_name: str
recurring: bool
scenario: ProductScenario
title: str

Entity models

class autumn.models.entities.Entity(**data)[source]
created_at: int
customer_id: str
env: AppEnv
features: Dict[str, CustomerFeature]
id: str
invoices: Optional[List[CustomerInvoice]]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
products: List[CustomerProduct]

Environment

class autumn.models.env.AppEnv(*values)[source]
LIVE = 'live'
PRODUCTION = 'production'
SANDBOX = 'sandbox'

Response models

class autumn.models.response.AttachResponse(**data)[source]
checkout_url: Optional[str]
code: str
customer_id: str
message: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

product_ids: List[str]
success: Optional[bool]
class autumn.models.response.CheckResponse(**data)[source]
allowed: bool
balance: Optional[float]
code: str
customer_id: str
feature_id: Optional[str]
feature_preview: Optional[FeaturePreview]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

product_id: Optional[str]
product_preview: Optional[ProductPreview]
status: Optional[str]
class autumn.models.response.TrackResponse(**data)[source]
code: str
customer_id: str
event_name: Optional[str]
feature_id: Optional[str]
id: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.response.UsageResponse(**data)[source]
code: str
customer_id: str
feature_id: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.response.CreateProductResponse(**data)[source]
created_at: int
env: AppEnv
free_trial: Optional[FreeTrial]
id: str
is_add_on: bool
is_default: bool
items: List[ProductItem]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
version: int
autumn.models.response.GetProductResponse

alias of CreateProductResponse

class autumn.models.response.ReferralCodeResponse(**data)[source]
code: str
created_at: int
customer_id: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.response.CancelResponse(**data)[source]
customer_id: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

product_id: str
success: bool
class autumn.models.response.PricingTableResponse(**data)[source]
list: List[PricingTableProduct]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.response.CheckoutLine(**data)[source]
amount: float
description: str
item: ProductItem
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.response.CheckoutNextCycle(**data)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

starts_at: int
total: float
class autumn.models.response.CheckoutResponse(**data)[source]
currency: str
current_product: Optional[Product]
customer_id: str
has_prorations: bool
lines: List[CheckoutLine]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

next_cycle: Optional[CheckoutNextCycle]
options: List[FeatureOptions]
product: Optional[Product]
total: float
url: Optional[str]
class autumn.models.response.ListProductResponse(**data)[source]
list: List[Product]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.response.ListCustomerResponse(**data)[source]
limit: int
list: List[Customer]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

offset: int
total: int
class autumn.models.response.QueryResponse(**data)[source]
list: List[QueryDP]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.response.TransferProductResponse(**data)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

success: bool

Meta models

class autumn.models.meta.Empty(**data)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.meta.FeatureOptions(**data)[source]
feature_id: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

quantity: int
class autumn.models.meta.ProductOptions(**data)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

product_id: str
quantity: Optional[int]
class autumn.models.meta.CustomerData(**data)[source]
email: Optional[str]
fingerprint: Optional[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: Optional[str]
class autumn.models.meta.AttachProductOptions(**data)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

product_id: str
quantity: Optional[int]
class autumn.models.meta.CheckoutLine(**data)[source]
amount: int
description: str
item: ProductItem
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class autumn.models.meta.Cycle(**data)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

starts_at: int
total: float
class autumn.models.meta.QueryDP(**data)[source]
get_usage(key)[source]
Return type:

Optional[int]

model_config: ClassVar[ConfigDict] = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

period: int