Skip to content
Coritan Docs

Order Object Storage

Choose a plan and a region, name a first bucket if you want one, pay on the order's page, and change or cancel the plan on the Billing tab.

View as Markdown

An Object Storage service starts with a plan, which sets its storage allowance, and a home region. You order it on its own order page in the dashboard. Setup takes under a minute once the first invoice is paid. You can name the service's first bucket in the order, or create buckets later.

  • Sign in to the dashboard.
  • Choose a home region close to the machines and people that use the data. Each bucket answers only at its own region's endpoint. You can create buckets in other regions later.
  • For the first invoice, credit on your account pays first. Otherwise you pay by card or PayPal on the page the order lands on (How the first payment works).

Open the order page in one of these ways:

  • In the sidebar, select Object Storage, then Order Object Storage. With no service yet, the same button is in the middle of the page.
  • In a service's panel, select Order another in its header.
  • On Order a service, select the Object Storage card under Storage.

The page has three numbered sections, and the summary under Your order sits beside them. On a phone the summary follows the sections, and Review order at the bottom of the screen takes you to it.

  1. Under Plan, choose a plan. Each plan shows its allowance, the rate for storage above it and its price, such as 250 GB included · $0.02 per GB-month above that.
  2. Choose the billing cycle with the buttons beside the Plan heading, such as Monthly. A longer term names what it saves, such as Annually · save 20%.
  3. Under Region, choose the home region. Each card shows the region's name and its code, such as Frankfurt and fra · Germany. The page lists only the regions that can take a bucket right now, and it starts with one near you when there is one.
  4. To create a bucket straight away, type its name in Bucket name under First bucket, such as assets. We put your account namespace in front, and the hint shows the full name, such as We create it as u7-assets. Leave the field empty to create buckets later. Bucket names gives the rules.
  5. Check the summary. It lists the plan with its billing cycle, the region and any first bucket, with Change beside each to go back to its section. The Total shows the price, any one-time setup fee and what is due today, and the line under it says how the first invoice is paid.
  6. Select the button under the summary. It reads Place order and pay when you pay after placing the order, and Place order when your credit pays for it or your account is billed in arrears. While something is missing, the button is greyed out and the line under it names what, such as Choose a region.

If we refuse the order, Could not place the order appears above the button with the reason, and your choices stay as they were.

Once you place it, the order's own page opens. When its title is Order placed, payment due, pay under Pay invoice with account credit, a saved card or PayPal account, or a new card (Pay and follow the order). Setup starts once the payment goes through. To pay later, leave the page and pay the invoice under Invoices.

The order's page follows the setup and updates on its own. Its title becomes Your order is ready when the service is active, and its button then opens the service. We email you when it is ready.

The new service appears on the Object Storage page. Its status is pending until the first invoice is paid, provisioning while we set it up and active when it is ready. That page does not refresh on its own, so reload it to see the change. Until the service is ready, its panel shows Waiting for payment, with Open invoices, or Setting up.

When setup finishes, the Activity table on the service's Billing tab lists it with a line such as Object storage ready in Frankfurt with 250 GB included. Bucket u7-assets created.

Next, create an access key on the Access keys tab and connect an S3 client.

Manage the plan on the Billing tab

Section titled Manage the plan on the Billing tab

Open the service and select the Billing tab.

Current plan
The Product, Plan, Price, Status, Next renewal date, the date the service was Set up, and its Service ID.
Activity
Setup, renewals, plan changes and other events, each with When, Event, Details and By.
Cancel service
Ends the service, as Cancel the service describes.

Each Object Storage size is a product of its own. Change plan… on the Current plan card moves the service to another billing cycle of the same size, and the allowance stays the same. Change a service's plan walks through the dialog and how we bill the switch. When the size has no other billing cycle, the card says No other plan to switch to.

To move to a larger or smaller allowance:

  1. Order a new service on the plan you want, as Place the order describes.
  2. On the new service's Buckets tab, create the buckets you need. Bucket names are unique across your account, so give them new names, such as u7-assets-2.
  3. Copy your objects across with an S3 client and a key whose scope is All buckets on this account. Such a key reaches the buckets of both services. With rclone, and both buckets in one region, run rclone sync coritan:u7-assets coritan:u7-assets-2. Connect an S3 client sets up the coritan remote.
  4. Point your applications at the new buckets and give them keys from the new service.
  5. Cancel the old service, as described below.
  1. On the Cancel service card, select Cancel service….
  2. Under When, choose At the end of the current term or Immediately.
  3. Type cancel and select Cancel service.

Cancel a service explains both choices and what happens to unpaid invoices.

When the service ends, its access keys stop working and it leaves the Object Storage page. We keep the objects in its buckets for 7 more days and then delete them. The dashboard and the service's keys cannot reach the objects in that time, and the bucket names stay taken until we delete them.

Caution

Cancelling deletes every object in the service's buckets 7 days after the service ends, and you cannot undo it. Copy out anything you need before the service ends.

Could not load the regions
The list of regions did not load. The message under it gives the reason. Reload the page.
No region has a gateway right now
No region can take a bucket at the moment, so you cannot order Object Storage. Try again later, or contact support.
No Object Storage plans yet
Object Storage is not in the catalogue for your account. Contact support if you expected it.
Could not load the plans
The plans did not load. Select Try again, or reload the page.
Fix the bucket name, or leave it empty.
The name in Bucket name breaks a rule, and the message under the field says which one, such as Use lowercase letters, digits, hyphens and dots, and start and end with a letter or digit. Correct the name, or clear the field and create the bucket later.
The service stays on Waiting for payment
The first invoice is unpaid. Select Open invoices and pay the invoice. Setup starts once it is paid.
The Activity line ends with The first bucket was not created: and a reason
The service works, but we could not create the bucket you named. The reason says why, such as Bucket names are 3 to 63 characters including the account prefix. Create the bucket on the Buckets tab (Create and delete buckets).
The first bucket is missing, and the Activity line does not mention it
Your account already has a bucket with that name, or had one that you deleted in the last 7 days, so we skipped the name. Create a bucket with another name on the Buckets tab.
The status says failed
Setup did not finish. The Activity table gives the reason, such as That region does not offer object storage. Contact support with the service ID.
No other plan to switch to
The size you have comes in one billing cycle only. To change the allowance, follow Change the plan.

Every Object Storage plan is a product whose module_name is object_storage. List the catalogue with GET /products/, which needs no authentication. Each product's id is the product_id to order, and each entry in its pricing list has the pricing_id for one billing cycle.

Shell
curl "https://api.coritan.com/api/v1/products/?per_page=200"

List the regions that can take a bucket with GET /api/v1/client/object-storage/regions:

Shell
curl https://api.coritan.com/api/v1/client/object-storage/regions \
  -H "Authorization: Bearer $CORITAN_TOKEN"
JSON
{
  "regions": [
    {
      "id": 1,
      "code": "fra",
      "name": "Frankfurt",
      "country_code": "DE",
      "endpoint": "https://s3.fra.coritan.com:7337"
    }
  ]
}

id is the location_id to order with. The list changes as regions gain or lose storage, so read it before each order. An empty list means you cannot order Object Storage right now.

Place the order with POST /api/v1/services/order:

Shell
curl -X POST https://api.coritan.com/api/v1/services/order \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": 58,
    "pricing_id": 171,
    "config": {
      "location_id": 1,
      "bucket_name": "assets"
    }
  }'
config.location_id
Required. The id of a region from the list above.
config.bucket_name
Optional. The first bucket's name, with or without your prefix. We change it to lowercase and add the prefix when it is missing.
hostname
Optional. The name the dashboard lists the service under, up to 100 characters. Without it, the service takes the plan's name.

Object Storage takes no add-ons. An order with addons answers 422 with Object Storage 250 GB does not take add-ons. Order each product on its own., where the plan's name comes first.

A new order answers 201:

JSON
{
  "service": {"id": 1207, "status": "pending", "billing_cycle": "monthly", "amount": 5.0, "hostname": null},
  "addons": [],
  "invoice_id": 5540,
  "requires_payment": true,
  "checkout_available": true,
  "amount_due": "5.00",
  "message": "Invoice created; pay to start provisioning"
}

When requires_payment is true, pay invoice_id as Pay an invoice shows. Setup starts once it is paid. Order a service lists the other values of message, including Order already submitted for a repeat of the same order within two minutes.

A config that fails the checks answers 422 with {"detail": {"errors": [...]}}. The errors are location_id is required and must be an integer, location_id must be a positive integer, or a bucket name rule such as Bucket names use lowercase letters, digits, hyphens and dots, and start and end with a letter or digit.

The order does not check that the location has storage. An order for a location that is not in the regions list is accepted, then fails during setup with That region does not offer object storage, and the service's status becomes failed.

To change the billing cycle or cancel through the API, follow Change a service's plan and Cancel a service with the service ID.

API operations on this page

MethodPathWhat it does
GET/api/v1/client/object-storage/regionsRegions with a gateway to put a bucket in, with each one's endpoint
POST/api/v1/services/orderOrder a platform service, and any add-ons bought with it