Dokumentaatio
Selaa dokumentaatiota

Billing and account

How Privatus Analytics billing works: pricing by events a month, one allowance per workspace, a Free plan with no card, and no surprise charges, ever.

Näytä Markdown-muodossa
  • Pricing is by events a month. An event is a pageview, a custom event or an ad impression. Everything else is free: API calls, MCP, Web Vitals, engagement pings, click maps, uptime checks, imports and bots.
  • One allowance per workspace, shared by all its sites and members.
  • One Free workspace per person. You can own one workspace on the Free plan, and any number on paid plans.
  • The Free plan needs no card: 10,000 events a month (20,000 with the optional badge), 3 sites, 1 member, 3 months of history. Above that, Pro starts at $9 a month for up to 250,000 events.
  • No surprise charges, ever. When you reach your monthly limit we pause collection and email you. We never charge you more unless you choose to upgrade, or you turned on automatic upgrades yourself. See Monthly limit.

In this section#

Billing is managed under Workspace settings → Billing by members with the billing.manage permission: owners, admins, the Billing role (for finance teams, it can do nothing else) and custom roles that include it.

API and MCP#

Everything on the billing page is also in the JSON API. Over the MCP server an assistant can read billing (the GET calls), and the tools that change it only return a link to the billing page, see Actions for a person. Paths are under /workspaces/<workspace id>, and every call needs billing.manage.

Call MCP tool What it does
GET /billing.json billing_get Plan, allowance, subscription status, billing details
GET /billing/usage.json billing_usage The usage meter. month (a date in that month) picks an earlier month
PATCH /billing.json billing_update billing_emails (up to 5), tax_id, auto_upgrade
POST /billing/checkout.json billing_checkout Starts a Paddle checkout and returns its URL. plan (pro or business), events (a tier from the price table), interval (month or year, default month)
GET /billing/preview.json billing_preview What a plan change would cost right now. Same plan, events and interval. Changes nothing
POST /billing/change_plan.json billing_change_plan Changes the plan, tier or interval at once, prorated
POST /billing/cancel.json billing_cancel Cancels at the end of the paid period. Optional reason and comment
POST /billing/resume.json billing_resume Undoes a scheduled cancellation, or resumes a paused subscription
POST /billing/payment_method.json billing_payment_method Returns a Paddle link to update the payment method
POST /billing/portal.json billing_portal Returns a link to the Paddle customer portal. Refused for an API token when other workspaces share the same Paddle customer
POST /billing/badge.json billing_badge enabled: true opts in to the badge bonus and checks your sites, false opts out
POST /billing/discount.json billing_discount Applies for a discount program
GET /billing/invoices.json billing_invoices_list Paid transactions, paginated
GET /billing/invoices/<transaction id>.json billing_invoices_get Returns the URL of the invoice PDF