Skip to the documentation
CLI

nextmail billing

Every command in this namespace, with its arguments, flags and examples.

Commands

The plan of the workspace and what it costs, as Billing shows them: the plan and its usage, the plans on sale, pay as you go, every charge with its invoice, and the links that start a checkout or open the billing portal. Only the workspace owner reaches it, and nothing is paid through the API.

Every command here also takes the global flags, such as --json, --profile and --dry-run. See the global flags

openemail billing get

Read the plan

Scopesbilling:readNeeds a sign-inAliasesshowview

Usage

nextmail billing get [flags]

Resolves the plan of the workspace and what it includes, as 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. metered is false while billing is switched off, and then nothing is capped.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Examples

nextmail billing get
Print the raw JSON
nextmail billing get --json

Also available in

API
GET /billing
TypeScript
nextmail.billing.get()
Python
billing.get()
Ruby
billing.get
PHP
billing->get
Go
Billing.Get
Java
billing().get
C#
Billing.GetAsync

openemail billing list-plans

List the plans

Scopesbilling:readNeeds a sign-in

Usage

nextmail billing list-plans [flags]

Resolves every plan, cheapest first, with its price in US cents and what it includes. available says whether it is on sale, and intervals the billing intervals it is sold at.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Examples

nextmail billing list-plans
Print the raw JSON
nextmail billing list-plans --json

Also available in

API
GET /billing/plans
TypeScript
nextmail.billing.listPlans()
Python
billing.list_plans()
Ruby
billing.list_plans
PHP
billing->listPlans
Go
Billing.ListPlans
Java
billing().listPlans
C#
Billing.ListPlansAsync

openemail billing get-usage

Read the usage history

Scopesbilling:readNeeds a sign-in

Usage

nextmail billing get-usage [flags]

Resolves the sends and AI actions of each day, and what pay as you go extras cost each month, as the Usage charts show them.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Flags

--days <value>

How many days back to go, from 1 to 3,660, or all for every day since the workspace was made. The server defaults to 30.

Examples

nextmail billing get-usage
With optional flags
nextmail billing get-usage --days 90
Print the raw JSON
nextmail billing get-usage --json

Also available in

API
GET /billing/usage
TypeScript
nextmail.billing.getUsage()
Python
billing.get_usage()
Ruby
billing.get_usage
PHP
billing->getUsage
Go
Billing.GetUsage
Java
billing().getUsage
C#
Billing.GetUsageAsync

openemail billing list-alerts

List the billing alerts

Scopesbilling:readNeeds a sign-in

Usage

nextmail billing list-alerts [flags]

Resolves 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. An empty list means there is nothing to say.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Examples

nextmail billing list-alerts
Print the raw JSON
nextmail billing list-alerts --json

Also available in

API
GET /billing/alerts
TypeScript
nextmail.billing.listAlerts()
Python
billing.list_alerts()
Ruby
billing.list_alerts
PHP
billing->listAlerts
Go
Billing.ListAlerts
Java
billing().listAlerts
C#
Billing.ListAlertsAsync

openemail billing list-countries

List the billing countries

Scopesbilling:readNeeds a sign-in

Usage

nextmail billing list-countries [flags]

Resolves every country a billing address can be in, as the two-letter ISO 3166 codes saveInvoiceDetails takes as country.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Examples

nextmail billing list-countries
Print the raw JSON
nextmail billing list-countries --json

Also available in

API
GET /billing/countries
TypeScript
nextmail.billing.listCountries()
Python
billing.list_countries()
Ruby
billing.list_countries
PHP
billing->listCountries
Go
Billing.ListCountries
Java
billing().listCountries
C#
Billing.ListCountriesAsync

openemail billing get-pay-as-you-go

Read pay as you go

Scopesbilling:readNeeds a sign-in

Usage

nextmail billing get-pay-as-you-go [flags]

Resolves pay as you go on the workspace: whether usage past the allowances is billed, the monthly limit and what extras cost so far, the current billing period once it is set up, the limits that can be chosen and the prices.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Examples

nextmail billing get-pay-as-you-go
Print the raw JSON
nextmail billing get-pay-as-you-go --json

Also available in

API
GET /billing/pay-as-you-go
TypeScript
nextmail.billing.getPayAsYouGo()
Python
billing.get_pay_as_you_go()
Ruby
billing.get_pay_as_you_go
PHP
billing->getPayAsYouGo
Go
Billing.GetPayAsYouGo
Java
billing().getPayAsYouGo
C#
Billing.GetPayAsYouGoAsync

openemail billing set-pay-as-you-go

Turn pay as you go on or off

Scopesbilling:writeNeeds a sign-in

Usage

nextmail billing set-pay-as-you-go --enabled [flags]
nextmail billing set-pay-as-you-go --data <json|@file|-> [flags]

Turns pay as you go on or off, as the switch on Billing does. Off takes effect at once, and usage stops at the allowances. On takes effect at once when a card is already saved. The first time, checkoutUrl is a link where the person adds a card, and pay as you go starts once they have: call confirmPayAsYouGo after they return.

Nothing is paid through the API: the person pays, changes the card or cancels on the billing provider's page the link opens, as they do from the app.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Flags

--enabled

true to turn it on, false to turn it off. Required, here or in --data.

--theme <value>

light or dark, for the page the link opens.

--data <json|@file|->

The whole body as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

Examples

nextmail billing set-pay-as-you-go --enabled
Read the whole body from a JSON file
nextmail billing set-pay-as-you-go --data @billing.json

Also available in

API
PATCH /billing/pay-as-you-go
TypeScript
nextmail.billing.setPayAsYouGo()
Python
billing.set_pay_as_you_go()
Ruby
billing.set_pay_as_you_go
PHP
billing->setPayAsYouGo
Go
Billing.SetPayAsYouGo
Java
billing().setPayAsYouGo
C#
Billing.SetPayAsYouGoAsync

openemail billing set-pay-as-you-go-limit

Set the pay as you go limit

Scopesbilling:writeNeeds a sign-in

Usage

nextmail billing set-pay-as-you-go-limit --limit-cents <n> [flags]
nextmail billing set-pay-as-you-go-limit --data <json|@file|-> [flags]

Sets the monthly spending limit of pay as you go, in US cents, one of the amounts getPayAsYouGo lists in limits. Extras stop for the rest of a calendar month once it is reached.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Flags

--limit-cents <n>

The limit in US cents: 1,000, 2,500, 5,000, 10,000, 25,000, 50,000, 100,000, 250,000 or 500,000. Required, here or in --data.

--data <json|@file|->

The whole body as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

Examples

nextmail billing set-pay-as-you-go-limit --limit-cents 1
Read the whole body from a JSON file
nextmail billing set-pay-as-you-go-limit --data @billing.json

Also available in

API
PUT /billing/pay-as-you-go/limit
TypeScript
nextmail.billing.setPayAsYouGoLimit()
Python
billing.set_pay_as_you_go_limit()
Ruby
billing.set_pay_as_you_go_limit
PHP
billing->setPayAsYouGoLimit
Go
Billing.SetPayAsYouGoLimit
Java
billing().setPayAsYouGoLimit
C#
Billing.SetPayAsYouGoLimitAsync

openemail billing confirm-pay-as-you-go

Confirm pay as you go

Scopesbilling:writeNeeds a sign-in

Usage

nextmail billing confirm-pay-as-you-go [flags]

Checks with the billing provider whether the card from a pay as you go checkout was saved, and records it, as the app does when the person comes back from the checkout. enabled says whether pay as you go is on now.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Examples

nextmail billing confirm-pay-as-you-go
Print the raw JSON
nextmail billing confirm-pay-as-you-go --json

Also available in

API
POST /billing/pay-as-you-go/confirm
TypeScript
nextmail.billing.confirmPayAsYouGo()
Python
billing.confirm_pay_as_you_go()
Ruby
billing.confirm_pay_as_you_go
PHP
billing->confirmPayAsYouGo
Go
Billing.ConfirmPayAsYouGo
Java
billing().confirmPayAsYouGo
C#
Billing.ConfirmPayAsYouGoAsync

openemail billing start-checkout

Start a checkout

Scopesbilling:writeNeeds a sign-in

Usage

nextmail billing start-checkout --plan <value> [flags]
nextmail billing start-checkout --data <json|@file|-> [flags]

Starts buying a paid plan for a workspace on Free, as choosing a plan in the app does, and resolves with the link to the checkout. Nothing is charged until the person pays there, and the plan starts once they have. A workspace that already pays for a plan changes it with openPortal instead.

Nothing is paid through the API: the person pays, changes the card or cancels on the billing provider's page the link opens, as they do from the app.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Flags

--plan <value>

starter, business or enterprise. Required, here or in --data.

--interval <value>

month or year. Defaults to month.

--theme <value>

light or dark, for the page the link opens.

--data <json|@file|->

The whole body as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

Examples

The required values only
nextmail billing start-checkout --plan business
With optional flags
nextmail billing start-checkout --plan business --interval year
Read the whole body from a JSON file
nextmail billing start-checkout --data @billing.json

Also available in

API
POST /billing/checkout
TypeScript
nextmail.billing.startCheckout()
Python
billing.start_checkout()
Ruby
billing.start_checkout
PHP
billing->startCheckout
Go
Billing.StartCheckout
Java
billing().startCheckout
C#
Billing.StartCheckoutAsync

openemail billing open-portal

Open the billing portal

Scopesbilling:writeNeeds a sign-in

Usage

nextmail billing open-portal [flags]

Resolves with 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 is paid through the API: the person pays, changes the card or cancels on the billing provider's page the link opens, as they do from the app.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Flags

--theme <value>

light or dark, for the page the link opens.

--data <json|@file|->

The whole body as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

Examples

nextmail billing open-portal
With optional flags
nextmail billing open-portal --theme dark

Also available in

API
POST /billing/portal
TypeScript
nextmail.billing.openPortal()
Python
billing.open_portal()
Ruby
billing.open_portal
PHP
billing->openPortal
Go
Billing.OpenPortal
Java
billing().openPortal
C#
Billing.OpenPortalAsync

openemail billing list-invoices

List the charges

Scopesbilling:readNeeds a sign-in

Usage

nextmail billing list-invoices [flags]

Resolves every charge of the workspace with the state of its invoice, a page at a time, as History on Billing lists them. search matches the plan, the invoice number, the charge id and the name billed.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Flags

--page <n>

Which page, from 1.

Default1
--limit <n>

Charges per page, from 1 to 100. The server defaults to 25.

Default25
--sort <value>

newest, the default, or oldest.

Default"newest"
--search <value>

Words to look for, up to 120 characters.

Examples

nextmail billing list-invoices
With optional flags
nextmail billing list-invoices --limit 10
Print the raw JSON
nextmail billing list-invoices --json

Also available in

API
GET /billing/invoices
TypeScript
nextmail.billing.listInvoices()
Python
billing.list_invoices()
Ruby
billing.list_invoices
PHP
billing->listInvoices
Go
Billing.ListInvoices
Java
billing().listInvoices
C#
Billing.ListInvoicesAsync

openemail billing get-invoice

Get the invoice of a charge

Scopesbilling:readNeeds a sign-in

Usage

nextmail billing get-invoice <order-id> [flags]

Resolves with the link to the invoice of one charge, as a PDF, and its file name. An invoice that was not written yet is written first, which can take a few seconds. The link is signed by the billing provider, downloads the PDF and stops working after a while, so fetch it again rather than keeping it.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Arguments

<order-id>Required

The charge id, as listInvoices returns it.

Examples

nextmail billing get-invoice order_4c1b257a
Print the raw JSON
nextmail billing get-invoice order_4c1b257a --json

Also available in

API
GET /billing/invoices/{orderId}
TypeScript
nextmail.billing.getInvoice()
Python
billing.get_invoice()
Ruby
billing.get_invoice
PHP
billing->getInvoice
Go
Billing.GetInvoice
Java
billing().getInvoice
C#
Billing.GetInvoiceAsync

openemail billing save-invoice-details

Save the billing details of a charge

Scopesbilling:writeNeeds a sign-in

Usage

nextmail billing save-invoice-details <order-id> --name <value> --line1 <value> --city <value> --country <value> [flags]
nextmail billing save-invoice-details <order-id> --data <json|@file|-> [flags]

Saves the name and address billed on a charge, as the Billing address dialog does, keeps the address for later charges, and starts writing its invoice. invoice is ready when the charge already had one, started when it is being written, and refused with the reason in message.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Arguments

<order-id>Required

The charge id, as listInvoices returns it.

Flags

--name <value>

Who is billed, up to 200 characters. Required, here or in --data.

--line1 <value>

The street address, up to 200 characters. Required, here or in --data.

--line2 <value>

A flat, suite or building, up to 200 characters.

--city <value>

Up to 120 characters. Required, here or in --data.

--postal-code <value>

Up to 40 characters.

--state <value>

The state or region, up to 60 characters. In the US and Canada, its two-letter code.

--country <value>

A two-letter ISO 3166 code, one of those listCountries returns. Required, here or in --data.

--data <json|@file|->

The whole body as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

Examples

The required values only
nextmail billing save-invoice-details order_4c1b257a --name 'Acme Ltd' --line1 '1 Market Street' --city London --country GB
With optional flags
nextmail billing save-invoice-details order_4c1b257a --name 'Acme Ltd' --line1 '1 Market Street' --city London --country GB --postal-code 'EC1A 1AA'
Read the whole body from a JSON file
nextmail billing save-invoice-details order_4c1b257a --data @billing.json

Also available in

API
PUT /billing/invoices/{orderId}/details
TypeScript
nextmail.billing.saveInvoiceDetails()
Python
billing.save_invoice_details()
Ruby
billing.save_invoice_details
PHP
billing->saveInvoiceDetails
Go
Billing.SaveInvoiceDetails
Java
billing().saveInvoiceDetails
C#
Billing.SaveInvoiceDetailsAsync

openemail billing list-add-ons

List add-ons

Scopesbilling:readNeeds a sign-in

Usage

nextmail billing list-add-ons [flags]

Resolves what can be bought on top of the plan, today the dedicated sending IP: whether it is for sale, its price per IP a month in priceCents, whether the workspace has it and when it ends, the IPs it brought, and eligibility, which says whether the workspace qualifies. A dedicated IP needs the Business or Enterprise plan and at least 100,000 emails sent in a month, because below that volume it delivers worse than the shared IPs.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Examples

nextmail billing list-add-ons
Print the raw JSON
nextmail billing list-add-ons --json

Also available in

API
GET /billing/add-ons
TypeScript
nextmail.billing.listAddOns()
Python
billing.list_add_ons()
Ruby
billing.list_add_ons
PHP
billing->listAddOns
Go
Billing.ListAddOns
Java
billing().listAddOns
C#
Billing.ListAddOnsAsync

openemail billing start-add-on-checkout

Start a checkout for an add-on

Scopesbilling:writeNeeds a sign-in

Usage

nextmail billing start-add-on-checkout --add-on <value> [flags]
nextmail billing start-add-on-checkout --data <json|@file|-> [flags]

Starts buying an add-on, as the button under Billing does, and resolves with the link to the checkout. Nothing is charged until the person pays there. Once it is paid the dedicated IP is set up and warmed up, which sending.listDedicatedIps shows.

Nothing is paid through the API: the person pays on the billing provider's page the link opens, as they do from the app.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Flags

--add-on <value>

The add-on to buy: dedicated-ip. Required, here or in --data.

--theme <value>

light or dark, for the page the link opens.

--data <json|@file|->

The whole body as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

Examples

nextmail billing start-add-on-checkout --add-on dedicated-ip
Read the whole body from a JSON file
nextmail billing start-add-on-checkout --data @billing.json

Also available in

API
POST /billing/add-ons/checkout
TypeScript
nextmail.billing.startAddOnCheckout()
Python
billing.start_add_on_checkout()
Ruby
billing.start_add_on_checkout
PHP
billing->startAddOnCheckout
Go
Billing.StartAddOnCheckout
Java
billing().startAddOnCheckout
C#
Billing.StartAddOnCheckoutAsync

openemail billing cancel-add-on

Cancel an add-on

Scopesbilling:writeNeeds a sign-in
Asks you to confirm

Usage

nextmail billing cancel-add-on <add-on> [flags]

Cancels an add-on. It stays until the end of the month already paid for, which endsAt gives. Then the dedicated IP is released and mail leaves through the shared IPs again.

Billing belongs to the owner of the workspace: an API key acts for the owner, and an OAuth access token reaches billing only when the owner connected the app with every address. A token that acts for a member is 403 owner_only, and a key or token limited to particular addresses or domains is 422 capability_unsupported.

Arguments

<add-on>Required

The add-on to cancel: dedicated-ip.

Examples

nextmail billing cancel-add-on dedicated-ip
Skip the confirmation, for scripts
nextmail billing cancel-add-on dedicated-ip --yes

Also available in

API
DELETE /billing/add-ons/{addOn}
TypeScript
nextmail.billing.cancelAddOn()
Python
billing.cancel_add_on()
Ruby
billing.cancel_add_on
PHP
billing->cancelAddOn
Go
Billing.CancelAddOn
Java
billing().cancelAddOn
C#
Billing.CancelAddOnAsync