What are subscriptions?
Subscriptions link app users to products, granting them access to files, folders, and product variables. Without an active subscription, users cannot access product resources.
Think of it like a streaming service
Netflix subscription = access to content. Vaultix subscription = access to product files.
Creating subscriptions
In the dashboard, navigate to App → Subscriptions → Create subscription.
Fields
| Field | Description |
|---|
| App user | Select the user who gets access |
| Product | Select which product they can access |
| Expiry date Optional | Leave empty for lifetime access, or set an expiration date |
One user can have multiple subscriptions to different products.
Subscription states
| State | Meaning |
|---|
| Active | User can access all product resources. No expiry date or expiry is in the future. |
| Expired | Expiry date has passed. User cannot access product resources until renewed. |
| Paused | Manually paused by admin. User cannot access resources. Can be resumed anytime. |
Managing subscriptions
Extend a subscription
To extend a subscription, edit it and change the expiry date to a future date.
App → Subscriptions → [Select subscription] → Edit → Update expiry date
Pause a subscription
Temporarily disable access without deleting the subscription.
App → Subscriptions → [Select subscription] → Pause
Resume a subscription
Reactivate a paused subscription.
App → Subscriptions → [Select subscription] → Resume
Delete a subscription
Permanently remove the subscription. The user immediately loses access.
App → Subscriptions → [Select subscription] → Delete
Deleting a subscription cannot be undone. Consider pausing instead.
Bulk operations
Manage multiple subscriptions at once:
Pause all subscriptions for a product
Useful when taking a product offline for maintenance.
App → Products → [Select product] → Pause all subscriptions
Resume all subscriptions for a product
Reactivate all paused subscriptions after maintenance.
App → Products → [Select product] → Resume all subscriptions
Checking subscriptions in the C++ client
Users can check their active subscriptions programmatically:
C++Copy
Vaultix::VaultixClient client("https://vaultix.cc/api");
client.SetApiKey("ap_your_api_key");
// Authenticate first
if (client.AuthenticateWithKey(userKey)) {
// Get all active subscriptions
auto subscriptions = client.GetSubscriptions();
for (const auto& sub : subscriptions) {
std::cout << "Product ID: " << sub.product_id << std::endl;
std::cout << "Status: " << sub.status << std::endl;
std::cout << "Expires: " << (sub.expires_at.empty() ? "Never" : sub.expires_at) << std::endl;
std::cout << "---" << std::endl;
}
// Check if user has access to specific product
std::string productId = "prod_xxxxxxxxxxxxx";
if (client.HasAccessToProduct(productId)) {
std::cout << "User has access to this product!" << std::endl;
} else {
std::cout << "Access denied or subscription expired" << std::endl;
}
}
Subscription tracking
Monitor subscription usage and activity:
| Metric | Description |
|---|
| Download count | Track how many files a user has downloaded under each subscription. |
| Last activity | View when the subscription was last used to access resources. |
| Creation date | Know when the subscription was initially created. |
| Expiry tracking | See which subscriptions are expiring soon and need renewal. |
Common workflows
Selling a subscription to a product
- Create app user (generates key or registration link)
- Create subscription linking user to product
- Set expiry date (e.g., 30 days from now)
Renewing a subscription
- Find the user's subscription in the Subscriptions page
- Edit subscription and extend expiry date
- User automatically gets continued access
Upgrading a user to a different product
- Keep existing subscription or pause it
- Create new subscription for premium product
- User now has access to both (or just premium if you paused basic)
Best practices
- Use lifetime subscriptions (no expiry) for permanent access to a product
- Set expiry dates for monthly/yearly subscriptions
- Use pause instead of delete when temporarily disabling access
- Monitor download counts to detect unusual activity