Skip to content
Coritan Docs

See what your customers' use costs you

Read the compute your customers use by customer and product, choose between plans and usage billing, set a monthly budget and understand a pause on new orders.

View as Markdown

Your customers' Cloud Compute servers, game servers and databases use memory, CPU, disk and bandwidth. On the Usage billing basis you pay Coritan the wholesale rate for that use, so what a customer costs you depends on what their server does. Usage and cost, one of the pages under Billing, adds it up by customer and by product, and shows which customers cost you more than they pay.

The reseller program's terms has the rates and how the two billing bases differ.

  • Billing is for the owner, admins and members with the billing role. The owner switches the billing basis. The owner, admins and billing members set the budget.
  • Coritan's own organizations are not charged for usage. Their Usage and cost page says so and shows no figures.
  • A customer on a flat plan sees none of this. It is your cost, not theirs.
  1. Open the organization, then Billing, then Usage and cost.
  2. Choose the Month. It starts on this month so far. The twelve most recent months are in the list, and the choice stays in the address.

The page shows four figures, all in US dollars:

Usage at wholesale
What your customers' servers used, at the wholesale rates you pay. Under it you see the same use at Coritan's list rates. On the Plans basis the card reads Usage if you switched, because nothing is charged for it.
Retail revenue
What your customers' plans bring in for the days their servers ran. A plan's price counts as a month's worth, so a month that is still running compares like with like. Plans that are paid for in another currency are converted at the market rate.
Margin
Retail revenue less usage at wholesale, before the platform cut.
Usage budget
How much of your monthly budget this month's use has taken, on the Usage basis. None when you have not set one.

Under the figures, By customer lists each customer with their Usage at wholesale, Retail revenue and Margin, and By product lists the same use for each product. Select a customer to open them. The list starts with the customers who cost you the most compared with what they pay, and you can sort by customer, usage, revenue or margin.

Customers who cost more than they pay

Section titled Customers who cost more than they pay

A customer whose use costs you more than their plans bring in is marked Costs more than it pays, and their Margin shows in red. Two customers on one plan can cost you very different amounts: a server that sits idle costs a little, and one that keeps its CPU busy costs a lot.

Two things help. Raise the price of the plan for new orders, or offer a plan with a smaller size. Set up products and pricing shows what each plan costs you.

The Billing basis card shows whether you pay on Plans or on Usage, and since when. A new organization starts on Usage.

While you are on Plans, the card shows a preview: the last three complete months, with Plan wholesale (what Coritan charged on your compute plans) beside Usage at wholesale (what your customers' use would have cost) and the Difference. Until your customers' servers have three months of readings, a month without readings is estimated with every server on all month and its CPU at 10%, and the card says so.

To switch:

  1. Read the preview. A negative Difference is what usage billing would have cost you on top.
  2. Select Switch to usage billing…. Only the organization's owner sees it.
  3. Type the organization's slug to confirm.
  4. Select Switch to usage billing.

The switch takes effect on the 1st of the next month at midnight UTC, so no month mixes the two. Until then the card shows Switch, with the day it lands, and Cancel the switch… puts it off. Nothing about your running servers changes. From the day it lands, Coritan stops charging wholesale on the plan lines of compute plans and charges the use instead. It still charges wholesale on other plans, such as IP addresses, mail and add-ons.

The preview and the switch are in Settings, then General, too.

A budget is an optional cap on what your customers' use costs you in a month. It does not limit what customers run.

  1. Open Settings, then General, or Billing, then Usage and cost.
  2. On the Monthly usage budget card, select Set a budget…, or Edit budget… to change it.
  3. Enter the amount in dollars, such as 100.00, and select Save budget. Leave the field empty to remove the budget.

We tell you at 80% and at 100% of the budget, once each month, with a billing.usage_budget webhook event. At 100% we pause new orders. The card is only there while you are on the Usage basis.

New orders pause in two cases: your monthly usage budget is reached, or a shortfall invoice for the compute your customers used has gone unpaid past its payment reminders. Overview, Settings and Usage and cost show New orders are paused with the reason.

  • Customers see only that new orders are paused for the store, and your staff see the reason when they try to place an order for a customer.
  • Servers that already run keep running, and renewals carry on.
  • A budget hold ends when you raise the budget, remove it or the month turns. An invoice hold ends when the invoice is paid. Open your Coritan invoices takes the owner to it.

Every call starts with https://api.coritan.com/api/v1/orgs/{org_slug} and takes a member's token. Reading and the budget are for the billing role and above. The switch is for the owner.

GET /billing/usage-cost answers a month, ?month=2026-09, or this month so far when it is left out. by_customer lists the 100 customers with the worst margin first, or the number limit names, and customers counts them all.

Shell
curl "https://api.coritan.com/api/v1/orgs/acme/billing/usage-cost?month=2026-09" \
  -H "Authorization: Bearer $CORITAN_TOKEN"
JSON
{
  "month": "2026-09",
  "currency": "USD",
  "basis": "usage",
  "totals": {"usage_wholesale": "98.67", "list": "164.45", "retail_revenue": "128.27", "margin": "29.60"},
  "by_product": [
    {"product_id": 402, "name": "Minecraft 8 GB", "usage_wholesale": "47.37", "customers": 2}
  ],
  "by_customer": [
    {"customer_id": 103, "email": "alex@example.com", "services": 2, "usage_wholesale": "41.07",
     "retail_revenue": "30.48", "margin": "-10.59", "loses_money": true}
  ],
  "customers": 5,
  "budget": {"amount": "120.00", "spent": "98.67", "percent": 82.2},
  "hold": {"held": false, "reason": null}
}

Every money figure is text with two decimals. budget is null without a budget, and hold.held is true while new orders are paused. An organization on the plans basis has no usage rows and answers zeros.

GET /billing/basis/preview answers the last three complete months, oldest first, with plan_wholesale and usage_estimate, whether a month was assumed, the assumption that says how, current, effective_at (when a switch asked for now lands) and pending, a switch already asked for. Coritan's own organizations answer 409.

Shell
curl -X PUT https://api.coritan.com/api/v1/orgs/acme/billing/basis \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"basis": "usage"}'

PUT /billing/basis takes usage or plans and answers the basis in force now and the switch still to come: {"basis": "plans", "pending": {"basis": "usage", "effective_at": "2026-11-01T00:00:00+00:00"}}. Sending the basis you are on cancels a waiting switch. A member who is not the owner gets 403, another word 422 and Coritan's own organizations 409. Each change is in the audit log.

Shell
curl -X PUT https://api.coritan.com/api/v1/orgs/acme/billing/usage-budget \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"amount": "100.00"}'

PUT /billing/usage-budget takes amount in US dollars as text, or null to remove the budget, and answers {"amount": "100.00", "spent": "39.46", "percent": 39.5}. An amount that is not more than zero answers 422.

The billing.usage_budget event carries threshold (80 or 100), spent, amount and month:

JSON
{"threshold": 80, "spent": "80.00", "amount": "100.00", "month": "2026-10"}

API operations on this page

MethodPathWhat it does
GET/api/v1/orgs/{org_slug}/billing/usage-costWhat your customers' compute use cost you in a month, by product and by customer
GET/api/v1/orgs/{org_slug}/billing/basis/previewWhat switching the billing basis would have meant over the last three months
PUT/api/v1/orgs/{org_slug}/billing/basisSwitch what Coritan charges you for compute, from the 1st of next month
PUT/api/v1/orgs/{org_slug}/billing/usage-budgetSet the most your customers' compute use may cost you in a month, or remove it