Documentation Index
Fetch the complete documentation index at: https://docs.prudra.dev/llms.txt
Use this file to discover all available pages before exploring further.
TTL and expiry
Every vault has a time-to-live (TTL). When the TTL elapses, the vault transitions toexpired and all its contents — documents, files, and events — are deleted permanently.
Default TTL by plan
| Plan | Default TTL |
|---|---|
| Hobby | 24 hours |
| Pro | 7 days (168 hours) |
| Enterprise | Unlimited (no auto-expiry) |
Expiry warning webhook
Prudra fires avault.expiring webhook 1 hour before expiry:
Extend TTL without persisting
Push the expiry forward usingextendVaultTtl(). This does not consume persisted vault quota:
- SDK
- cURL
extendVaultTtl() sets an absolute TTL from the current time — it doesn’t add to the remaining TTL.
Persist to survive past TTL
To keep a vault permanently (until manually deleted), usepersist() instead of extendVaultTtl():
What happens on expiry
When a vault expires:- All documents are deleted from the database
- All files are deleted from GCS (CDN URLs become invalid)
- All vault events are purged
- The vault ID returns 404 on any subsequent request
- A
vault.expiredwebhook fires
Error handling
| Error | Status | Cause | Resolution |
|---|---|---|---|
vault-expired | 404 | Vault TTL elapsed | Cannot recover — ensure you persist or download before expiry |
ttl-exceeds-plan | 422 | Requested TTL over plan max | Use a lower TTL or upgrade plan |
Related
- Persist a vault — prevent expiry permanently
- Vault quota — active and persisted vault counts
- Webhooks event reference —
vault.expiringandvault.expired

