Public-facing plan description. Surfaced via GET /public/subscriptions (unauth) so the FE can render the upgrade page even before sign-in. Field names line up 1:1 with SubscriptionPlan ORM attributes; callers build the response via SubscriptionPlanResponse.model_validate(plan) (BaseResponse enables from_attributes=True).
| Name | Type | Description | Notes |
|---|---|---|---|
| id | UUID | Plan ID. | |
| name | str | Human-readable plan name. | |
| ingested_pages | int | Per-period cap on ingested pages (PAGE). | |
| messages | int | Per-period cap on agent messages (MESSAGE). | |
| searches | int | Per-period cap on searches (SEARCH). | |
| max_seats | int | Upper bound on num_seats accepted by the upgrade endpoint. Admin PATCH may set tenant.seats above this value. | |
| public | bool | Whether this plan appears in the public listing. Private plans (custom enterprise tiers) are excluded from ``GET /public/subscriptions`` but their tenant members can still read them via ``GET /v1/tenants/{tenant_id}/subscriptions``. | |
| created_at | datetime | Plan creation timestamp. | |
| updated_at | datetime | Last-update timestamp. |
from ksapi.models.subscription_plan_response import SubscriptionPlanResponse
# TODO update the JSON string below
json = "{}"
# create an instance of SubscriptionPlanResponse from a JSON string
subscription_plan_response_instance = SubscriptionPlanResponse.from_json(json)
# print the JSON string representation of the object
print(SubscriptionPlanResponse.to_json())
# convert the object into a dict
subscription_plan_response_dict = subscription_plan_response_instance.to_dict()
# create an instance of SubscriptionPlanResponse from a dict
subscription_plan_response_from_dict = SubscriptionPlanResponse.from_dict(subscription_plan_response_dict)