Plans & billing

get_plan, list_plans, upgrade_plan and manage_billing — what the account may create, what it costs, and how to change it.

Every account is on a plan, and the plan is what bounds how much you can create. Two things are counted, because they cost wildly different amounts to run:

  • A static site is one deployment, however many pages it serves. A five-page brochure is one site, not five — so pages within a site are free, and only creating another site draws on the allowance. Put a multi-page site in one app rather than one app per page.
  • An app is anything that runs code (Node, PHP, Python), a process running all day with a database behind it. Apps need Grow: Starter hosts static sites only and cannot run one at any price. No plan includes any either — on Grow each app is simply added to the subscription, so the first costs the same as the tenth and deleting one stops its charge. A database is part of that price — never counted or billed separately.

The two plans are Starter, which is free and static-only, and Grow. Everything else Grow lifts is a yes/no rather than a meter — private apps, custom domains and team members are unlimited once you are on it.

Say so before it costs money

When a call adds to the bill, the result says so in a sentence written to be relayed. Pass it on to the customer rather than quietly running up their invoice.

get_plan

Show the plan this account is on, what it includes, how much is used, and what is billed per unit.

Takes no parameters.

Worth calling before promising the customer something their plan may not allow: another app, a private app, a custom domain, another static site, a bigger team.

Plan: Grow — 500 static sites · apps billed per app · unlimited team members · private apps · your own domains · unlimited projects
Usage: static sites 12/500 · team members 3/unlimited · 2 apps
Apps are 4 EUR/month each (database included) — 2 currently billed. Deleting one stops its charge.
Subscription status: active.
Renews 2026-09-14.

list_plans

List every plan with its price and what it includes, so you can tell the customer what upgrading would give them and what it costs. Prices are read live from the payment provider, not stored here.

Takes no parameters.

upgrade_plan

Start a subscription on a paid plan. Returns a secure payment link — hand it to the customer to open in their browser. Payment happens entirely on the payment provider's own page; agenthost never sees a card, and no tool here takes payment details.

ParameterTypeDescription
planstring, requiredThe plan to subscribe to. See list_plans.

Requires the owner or admin role. Once they have finished, call get_plan to confirm the new plan is active.

manage_billing

Return a link to the billing portal, where the customer can switch or cancel their plan, update their card and download invoices. Requires the owner or admin role.

This is how an existing subscription changes. There is deliberately no tool for cancelling or downgrading: the portal does it better, and it is where the customer's payment details already live. The link is single-use and expires shortly, so pass it on straight away rather than storing it.

The customer can also let themselves in

If they would rather not go through an agent, agenthost.eu/billing is the same door: it emails a one-time code, asks which account when they belong to several, and drops them in the same portal. Owners and admins only, just like this tool.

Comped accounts

An account can be on a sold plan that agenthost granted rather than sold — an internal account, a partner, a pilot. get_plan says so plainly, and the comp is complete: nothing is metered. Apps, static sites and team members are all unlimited and free, so a call that would normally be refused or billed simply goes through, and the usage line stops quoting allowances that no longer apply.

There is nothing to pay and nothing to manage, so upgrade_plan and manage_billing both decline and explain why. If the customer would rather move onto a normal paid subscription, they need to ask us to end the arrangement first.

Limits only apply when you create something

Deploying to an app or site that already exists always works, and nothing is deleted or switched off if a plan lapses — the account simply cannot add more until it is sorted out.