Skip to main content
Pylva Cloud plans meter three things: telemetry events per month, distinct end-users (unique customer_id values), and data retention. Self-hosted deployments are not subject to these limits (see below).

Plans

PlanPriceEvents / monthEnd-usersTelemetry retentionBilling-record retention
Free$0100,0001030 days90 days
Pro$49/mo1,000,0005090 days365 days
Scale$199/mo10,000,000500365 daysUnlimited
EnterpriseCustomUnlimitedUnlimitedCustomUnlimited
Current pricing is always at pylva.com/pricing.

What happens at the cap

When a workspace crosses 80% of its monthly event cap, Pylva sends a warning notification. At the cap:
  • POST /api/v1/events rejects new telemetry with HTTP 403 and the error code TIER_LIMIT_REACHED (not a 402). The message names your tier, how many events you have used, and when ingestion resumes:
{
  "error": {
    "type": "invalid_request_error",
    "code": "TIER_LIMIT_REACHED",
    "message": "free tier is configured for 100000 events per period. You have used 100000. Ingestion is paused until 2026-08-01T00:00:00.000Z. ..."
  }
}
  • Responses include an X-Pylva-Tier-Usage: <current>/<limit> header so clients can see where they stand.
  • Your application keeps working. The SDK fails open by design: provider calls proceed, only the telemetry is rejected. You lose cost visibility for the rest of the window, not production traffic.
  • Ingest resumes automatically when the monthly window resets, or immediately after an upgrade.

Upgrade

Upgrade from pylva.com/pricing: Payment happens in the browser through the checkout flow. If an AI agent is doing your integration, it should hand these links to a human rather than collect payment details.

Retention

Telemetry events age out per the plan’s telemetry retention window. Billing records (usage summaries used for invoicing your end-users) are kept for the longer billing-record window, so upgrading or downgrading changes how far back dashboards can look.

Self-hosting

The open-source self-host build does not enforce plan limits by default - you operate your own capacity. Operators can opt into event caps with the ENABLE_EVENT_LIMITS environment flag, which produces the same 403 TIER_LIMIT_REACHED behavior described above. See Open Source And Hosted for the full hosting model.