Skip to content
Coritan Docs

How Object Storage is billed

What your plan's storage allowance covers, how we measure what your buckets hold, and what happens when you go over or change plan.

View as Markdown

Each Object Storage service is on a plan. The plan's price covers a storage allowance, and you pay that price on the billing cycle you chose when you ordered. We measure what your buckets hold every hour, and the service's Overview tab shows it against the allowance.

The allowance is the storage included in the price. The order page shows it on each plan, followed by the plan's rate for storage above it. On the service's Overview tab, the Service card shows it as Included. A GB is 1024³ bytes.

  • The allowance covers all the service's buckets together, in every region they are in.
  • Buckets and access keys have no price of their own. A service holds up to 25 buckets.
  • A plan without an allowance shows Unmetered under Included, and the Storage figure says No allowance on this plan. Nothing on such a plan counts as above the plan.

Every hour, we list every object in each of the service's buckets and record their total size and their number. We measure only what the buckets hold. Requests, uploads and downloads are not counted.

  • The service's figure adds up the buckets it holds now. It appears as Storage on the Overview tab and in the list of services, and as used_bytes in the API.
  • Every size and object count comes from the last measurement, so the figures trail uploads and deletions by up to an hour.
  • A bucket you delete leaves the figure at once. Objects you delete leave it at the next measurement.
  • A new bucket counts from its first measurement, up to an hour after you create it.

The Stored over time chart on the Overview tab shows the measurements of the last 7d, 30d or 90d, added up across the service's buckets. It includes a bucket you deleted for the hours before the delete, until we remove that bucket's history 7 days later. No measurements yet means no bucket was measured in the window you chose (The usage chart is empty).

When your buckets hold more than the allowance

Section titled When your buckets hold more than the allowance

Uploads go on working above the allowance. We do not refuse a request or delete an object because the service is above it.

Each hour, after the measurement, we record how many GB the service holds above its allowance, or zero when it is within it. We keep this record for every active or suspended service that has at least one bucket.

The plan sets a rate per GB-month for storage above the allowance. A GB-month is one GB held for a whole month, so 10 GB above the allowance for half a month makes 5 GB-months. The Service card shows the rate as Above the plan.

While the last measurement is above the allowance:

  • A warning at the top of the Overview tab gives the amount, such as 12.5 GB above the plan, and the plan's rate per GB-month.
  • On the Stored over time chart, the bars above the dashed line that marks the allowance are red.
  • overage_gb in the API is above zero.

Each invoice lists its charges line by line, as Read an invoice describes.

Bring the storage back within the allowance

Section titled Bring the storage back within the allowance

The warning suggests two ways:

  • Delete what you no longer need: objects in the object browser (Delete objects and folders), or whole buckets (Delete a bucket).
  • Move to a larger plan, as the next section describes. The warning's Change plan button opens the Billing tab.

The warning goes once the service's figure is back within the allowance. That happens at once when you delete a bucket, and after the next measurement when you delete objects.

Each Object Storage size is a product of its own, with a plan for each billing cycle it comes in. Change plan… on the Billing tab moves the service to another billing cycle of the same size, and the allowance stays the same. We prorate the switch to the day, and the dialog previews what it costs before you apply it (Change a service's plan). When the size comes in one billing cycle only, the tab says No other plan to switch to.

A larger or smaller allowance takes a new service. Order one on the plan you want, copy your objects across, then cancel the old service (Change the plan). You pay for both services until the old one ends.

The Billing tab shows the plan and what you pay for it. The Current plan card gives the Plan, its Price and the Next renewal date, and the Activity table lists setup, renewals and plan changes. The tab does not show storage, which the Overview tab covers. Manage the plan on the Billing tab describes each card, including Cancel service.

The plan renews on the date under Next renewal, with an invoice for its price (How you are billed).

  • Each service has its own allowance. Spare room on one service does not cover the buckets of another.
  • A plan change keeps the allowance.
  • We measure once an hour, so no figure is newer than the last measurement.
  • The API returns up to 366 days of measurements, and the chart shows up to 90.

GET /api/v1/client/object-storage/{service_id} returns the service with quota_bytes, used_bytes, overage_per_gb_month and overage_gb, as Object Storage describes.

GET /api/v1/client/object-storage/{service_id}/usage returns the same figures with the measurements behind the chart. days sets the window, from 1 to 366 days, and is 30 when you leave it out.

Shell
curl "https://api.coritan.com/api/v1/client/object-storage/1207/usage?days=7" \
  -H "Authorization: Bearer $CORITAN_TOKEN"
JSON
{
  "quota_bytes": 268435456000,
  "used_bytes": 281857228800,
  "object_count": 1284,
  "bucket_count": 2,
  "overage_gb": 12.5,
  "days": 7,
  "series": [
    {"measured_at": "2026-09-19T10:00:00", "bytes": 279172874240, "objects": 1270},
    {"measured_at": "2026-09-19T11:00:00", "bytes": 281857228800, "objects": 1284}
  ]
}

series has one point for each hourly measurement in the window, oldest first, in UTC. Each point adds up bytes and objects across the service's buckets. overage_gb is what the buckets held above quota_bytes at the last measurement, in GB of 1024³ bytes, and is 0 on a plan without an allowance. A service ID that is not an Object Storage service on your account answers 404 with Object storage service not found.

API operations on this page

MethodPathWhat it does
GET/api/v1/client/object-storage/{service_id}Get service
GET/api/v1/client/object-storage/{service_id}/usageStored bytes and objects over time, as the hourly meter recorded them