Skip to the documentation
MCP server

Billing

The plan, pay as you go, invoices, and the links to pay.

Billing tools

ToolWhat it does
getBillingThe plan of the workspace and what it includes, as Plans & Billing shows it: how it is billed, when it renews or ends and the next charge, the domains, this month’s sends, today’s AI actions and pay as you go.
listBillingPlansEvery plan, cheapest first, with its price, where it is sold and what it includes.
getBillingUsageSends and AI actions per day, and what pay as you go extras cost per month, as the Usage charts show them. days goes back up to 3,660 days, and all to the day the workspace was made.
listBillingAlertsWhat the billing banner of the app would say now, most urgent first.
listBillingCountriesEvery country code a billing address takes.
getPayAsYouGoPay as you go: whether extras are billed, the monthly limit and what they cost so far, the current period, the limits that can be chosen and the prices.
setPayAsYouGoTurn pay as you go on or off. The first time, it returns a link where the person adds a card. In the app’s chat it always asks first.
setPayAsYouGoLimitSet the monthly limit of pay as you go. In the app’s chat it always asks first.
confirmPayAsYouGoAfter the person added the card, check that it was saved and record it. In the app’s chat it always asks first.
startPlanCheckoutThe link to a checkout for a paid plan, for a workspace on Free. In the app’s chat it always asks first.
openBillingPortalThe link to the billing portal, where the plan is changed or cancelled and the card updated. In the app’s chat it always asks first.
listInvoicesEvery charge with the state of its invoice, as History on Plans & Billing lists them, a page at a time.
getInvoiceThe link to the invoice of one charge, a PDF, since a tool carries no file.
saveBillingDetailsSave the name and address billed on a charge, keep the address for later charges and start writing its invoice. In the app’s chat it always asks first.

Only the owner of the workspace reaches billing, through a client connected with every address. Reading needs billing:read and every change needs billing:write.

Nothing is paid through a tool. A checkout, the billing portal and adding a card for pay as you go each return a link for the person to open, and they pay, change the card or cancel there.

Some tools on this server make a change the REST API guards with a verification code, and ask for the same code. Until the client has verified a code in the last 60 minutes, or the person has chosen Allow changes for 60 minutes on it in Account → Connected apps, such a tool answers with a result that starts Refused (step_up_required): and changes nothing. emptyAudience never asks for a code. The API Authentication page lists every tool that asks, and shows how to ask for a code and verify it.

Reference

getBilling

Scopesbilling:readThe app's assistant runs it without askingToolkitbilling

The plan of this workspace and what it includes, as Plans & Billing shows it: how it is billed, when it renews or ends and the next charge, how many domains it holds, how much of this month's sends and today's AI actions are used, and pay as you go. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

Takes no input.

Also available in

API
GET /billing
SDK
billing.get()

listBillingPlans

Scopesbilling:readThe app's assistant runs it without askingToolkitbilling

Every plan, cheapest first, with its price, whether it is sold here and at which intervals, and what it includes. Prices are in US dollars. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

Takes no input.

Also available in

API
GET /billing/plans
SDK
billing.listPlans()

getBillingUsage

Scopesbilling:readThe app's assistant runs it without askingToolkitbilling

Sends and AI actions per day, and what pay as you go extras cost per month, as the Usage charts show them. days goes back 1 to 3660 days, 30 by default, and "all" goes back to the day the workspace was made. Days with no use are left out. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

daysinteger | string

Also available in

API
GET /billing/usage
SDK
billing.getUsage()

listBillingAlerts

Scopesbilling:readThe app's assistant runs it without askingToolkitbilling

What the billing banner of the app would say now, most urgent first: a failed payment, paused pay as you go, sending or AI paused at a limit, a plan about to end, an allowance nearly used and a charge coming soon. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

Takes no input.

Also available in

API
GET /billing/alerts
SDK
billing.listAlerts()

listBillingCountries

Scopesbilling:readThe app's assistant runs it without askingToolkitbilling

Every country a billing address can be in, as the two-letter ISO 3166 codes saveBillingDetails takes as country. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

Takes no input.

Also available in

API
GET /billing/countries
SDK
billing.listCountries()

getPayAsYouGo

Scopesbilling:readThe app's assistant runs it without askingToolkitbilling

Pay as you go on this workspace: whether usage past the allowances is billed, the monthly limit and what extras cost so far, the current billing period, the limits that can be chosen and the prices. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

Takes no input.

Also available in

API
GET /billing/pay-as-you-go
SDK
billing.getPayAsYouGo()

setPayAsYouGo

Scopesbilling:writeThe app's assistant always asks firstToolkitbilling

Turn pay as you go on or off, as the switch on Plans & Billing does. Off takes effect at once, and usage stops at the plan's allowances. On takes effect at once when a card is saved. The first time, it returns a link where the person adds a card on the billing provider's page: give them the link, and call confirmPayAsYouGo once they say they are done. Nothing is paid through this tool. It asks for a verification code, and in the app's chat it always asks first. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

enabledbooleanRequired
themestring

Light or dark, for the page the link opens. Left out, it follows the browser.

One of"light""dark"
localestring

A language tag such as de or pt-PT, for the page the link opens.

Up to 35 characters

Also available in

API
PATCH /billing/pay-as-you-go
SDK
billing.setPayAsYouGo()

setPayAsYouGoLimit

Scopesbilling:writeThe app's assistant always asks firstToolkitbilling

Set the monthly spending limit of pay as you go, in US cents. Extras stop for the rest of a calendar month once it is reached. Pay as you go has to be set up first. It asks for a verification code, and in the app's chat it always asks first. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

limitCentsintegerRequired

One of 1000, 2500, 5000, 10000, 25000, 50000, 100000, 250000, 500000.

Also available in

API
PUT /billing/pay-as-you-go/limit
SDK
billing.setPayAsYouGoLimit()

confirmPayAsYouGo

Scopesbilling:writeThe app's assistant always asks firstToolkitbilling

After the person added a card through the link setPayAsYouGo gave, check with the billing provider that it was saved and record it, as the app does when they come back. It asks for a verification code, and in the app's chat it always asks first. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

Takes no input.

Also available in

API
POST /billing/pay-as-you-go/confirm
SDK
billing.confirmPayAsYouGo()

startPlanCheckout

Scopesbilling:writeThe app's assistant always asks firstToolkitbilling

Start buying a paid plan for a workspace on Free, as choosing a plan in the app does, and return the link to the checkout on the billing provider's page. Nothing is charged until the person pays there, so give them the link. A workspace that already pays for a plan changes it with openBillingPortal instead. interval is month or year, month by default. It asks for a verification code, and in the app's chat it always asks first. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

planstringRequired
One of"starter""business""enterprise"
intervalstring
One of"month""year"
themestring

Light or dark, for the page the link opens. Left out, it follows the browser.

One of"light""dark"
localestring

A language tag such as de or pt-PT, for the page the link opens.

Up to 35 characters

Also available in

API
POST /billing/checkout
SDK
billing.startCheckout()

openBillingPortal

Scopesbilling:writeThe app's assistant always asks firstToolkitbilling

A link to the billing portal, where the person changes or cancels the plan, updates the card and downloads past invoices, as Manage does in the app. Nothing changes until they act there. It asks for a verification code, and in the app's chat it always asks first. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

themestring

Light or dark, for the page the link opens. Left out, it follows the browser.

One of"light""dark"
localestring

A language tag such as de or pt-PT, for the page the link opens.

Up to 35 characters

Also available in

API
POST /billing/portal
SDK
billing.openPortal()

listInvoices

Scopesbilling:readThe app's assistant runs it without askingToolkitbilling

Every charge of the workspace with the state of its invoice, as History on Plans & Billing lists them, newest first unless sort is oldest. search matches the plan, the invoice number, the charge id and the name billed. getInvoice returns the link to an invoice. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

pageinteger
At least 1
limitinteger
At least 1At most 100
sortstring
One of"newest""oldest"
searchstring
Up to 120 characters

Also available in

API
GET /billing/invoices
SDK
billing.listInvoices()

getInvoice

Scopesbilling:readThe app's assistant runs it without askingToolkitbilling

The link to the invoice of one charge, a PDF, since a tool carries no file. An invoice that was not written yet is written first, which takes a few seconds. Take the charge id from listInvoices. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

orderIdstringRequired
Not empty

Also available in

API
GET /billing/invoices/{orderId}
SDK
billing.getInvoice()

saveBillingDetails

Scopesbilling:writeThe app's assistant always asks firstToolkitbilling

Save the name and address billed on a charge, as the Billing address dialog does, keep the address for later charges, and start writing its invoice. country is a two-letter code from listBillingCountries, and in the US and Canada state is its two-letter code. It asks for a verification code, and in the app's chat it always asks first. Only the owner of the workspace reaches billing, through a client connected with every address.

Inputs

orderIdstringRequired
Not empty
namestringRequired
1 to 200 characters
line1stringRequired
1 to 200 characters
line2string
Up to 200 characters
citystringRequired
1 to 120 characters
postalCodestring
Up to 40 characters
statestring
Up to 60 characters
countrystringRequired
One of"AD""AE""AF""AG""AI""AL""AM""AO""AQ""AR""AS""AT""AU""AW""AX""AZ""BA""BB""BD""BE""BF""BG""BH""BI""BJ""BL""BM""BN""BO""BQ""BR""BS""BT""BV""BW""BY""BZ""CA""CC""CD""CF""CG""CH""CI""CK""CL""CM""CN""CO""CR""CV""CW""CX""CY""CZ""DE""DJ""DK""DM""DO""DZ""EC""EE""EG""EH""ER""ES""ET""FI""FJ""FK""FM""FO""FR""GA""GB""GD""GE""GF""GG""GH""GI""GL""GM""GN""GP""GQ""GR""GS""GT""GU""GW""GY""HK""HM""HN""HR""HT""HU""ID""IE""IL""IM""IN""IO""IQ""IS""IT""JE""JM""JO""JP""KE""KG""KH""KI""KM""KN""KR""KW""KY""KZ""LA""LB""LC""LI""LK""LR""LS""LT""LU""LV""LY""MA""MC""MD""ME""MF""MG""MH""MK""ML""MM""MN""MO""MP""MQ""MR""MS""MT""MU""MV""MW""MX""MY""MZ""NA""NC""NE""NF""NG""NI""NL""NO""NP""NR""NU""NZ""OM""PA""PE""PF""PG""PH""PK""PL""PM""PN""PR""PS""PT""PW""PY""QA""RE""RO""RS""RW""SA""SB""SC""SD""SE""SG""SH""SI""SJ""SK""SL""SM""SN""SO""SR""SS""ST""SV""SX""SZ""TC""TD""TF""TG""TH""TJ""TK""TL""TM""TN""TO""TR""TT""TV""TW""TZ""UA""UG""UM""US""UY""UZ""VA""VC""VE""VG""VI""VN""VU""WF""WS""YE""YT""ZA""ZM""ZW"

Also available in

API
PUT /billing/invoices/{orderId}/details
SDK
billing.saveInvoiceDetails()