Plans
Access plans through client.plans in the Datature Vi SDK.
Plans describe the platform's pricing tiers and the feature limits attached to each one. They are a read-only, global catalog, not scoped to a workspace, so any authenticated user can browse them before performing billing operations elsewhere. Plans marked private (internal partner plans) are filtered out server-side.
- Vi SDK installed with authentication configured
- Familiarity with plans and pricing
Methods
list()
List all public subscription plans.
plans = client.plans.list()
for plan in plans.items:
print(f"{plan['planId']}: {plan['spec']['name']}")# `list()` takes no required parameters, so the resource is iterable
for plan in client.plans:
print(plan.get("planId"), plan.get("spec", {}).get("name"))all_plans = list(client.plans.list().all_items())
print(f"Total plans: {len(all_plans)}")This method takes no parameters.
Returns: PaginatedResponse[dict]. A page of plan documents. Each carries planId, spec (name, tier, feature limits), and metadata.
Raises: ViOperationError if the API returns an unexpected response shape.
get()
Fetch a specific plan by ID.
plan = client.plans.get("plan_pro")
print(plan["spec"]["name"])for plan_id in ["plan_free", "plan_pro", "plan_enterprise"]:
plan = client.plans.get(plan_id)
spec = plan.get("spec", {})
print(f"{spec.get('name')}: {spec.get('limits')}")Returns: dict. The plan document.
Raises: ViValidationError if plan_id is empty. ViNotFoundError if the plan does not exist. ViOperationError on an unexpected response shape.
Response format
Plans are returned as plain dictionaries rather than typed models, mirroring the platform's plan documents directly.
Related resources
Organizations API
Get organization info, billing details, and enabled features.
Plans And Pricing
Compare Datature Vi subscription tiers and what each includes.
Resource Usage
Track compute and storage consumption against your plan limits.
Vi SDK Getting Started
Install the SDK, initialize the client, and run your first call.
Updated 1 day ago
