Cancel a service
Cancel a service at the end of its term or straight away, and learn what happens to its data and its unpaid invoices.
In the dashboard
Cancelling ends a service and stops its billing. You choose when it ends: at the end of the current term, so it keeps running until the time you have paid for runs out, or immediately. Coritan does not refund unused time.
Caution
When a service ends, Coritan deletes it and the data on it. You cannot restart a service once it has ended. Copy out anything you need before you cancel.
Before you begin
Section titled Before you begin- Sign in to the dashboard.
- Copy your data off the service. For a game server or a database on App Deployment, you can also keep a snapshot, as the steps below show.
- Check what else uses the service, such as DNS records or proxies that point at its address. They stay on your account and stop working when the service ends.
- Cancel the products you ordered with the service, such as a floating IP, if you no longer need them. Each one is a service of its own and keeps renewing (What ends with the service).
Cancel a service
Section titled Cancel a serviceOpen the service's Billing tab. On the product's page, such as a server under App Deployment or an instance under Cloud Compute, open the service and select the Billing tab. You can also select Billing in the sidebar, then the Subscriptions tab, and select the service (Where a service opens). A service with no product page of its own, such as snapshot storage or a DDoS Shield profile, opens its own page under Subscriptions, with the same cards.
On the Cancel service card, select Cancel service…. Snapshot storage also has Cancel service… in the menu at the end of its row on the Storage plans card of the Snapshots page. The Cancel this service? dialog opens and says what the product deletes when the service ends.
Under When, choose:
- At the end of the current term to keep the service running until the date the dialog shows. This is the default.
- Immediately to end it now.
An hourly service has no choice. It ends at once.
For a game server or a database, leave Take a snapshot first ticked to keep a snapshot of the server, or clear it to keep nothing. The box also appears for a Cloud Compute instance, where it keeps nothing.
Type
canceland select Cancel service.
A web service, a static site or a hybrid site on App Deployment has no Cancel service card. Select Delete deployment… on the deployment's Settings tab instead, which cancels its service at once (Change or delete a deployment).
Result
Section titled ResultA message confirms the cancellation, and Coritan emails you about it. The Activity table on the Billing tab lists the request.
- At the end of the current term
- The message reads
Scheduled for end-of-term termination; service remains active until then. The Billing tab shows Cancellation scheduled with the end date. On the Subscriptions tab of Billing, the service has an Ending badge, and Renews shows the date it ends. The service keeps working until that date, Coritan raises no more renewal invoices for it, and deletes it once the date has passed. - Immediately
- The message reads
Immediate termination queued. The service's status becomespending_terminationwhile Coritan removes it, and thenterminated. A service that was never set up, such as an order you never paid for, ends at once withService cancelled before provisioning.
Either way, Coritan cancels every unpaid invoice for the service, so you do not owe them. That includes an invoice you have partly paid, and Coritan does not return the part you paid.
When you keep a snapshot, Coritan takes it at the moment you cancel, so after an end-of-term cancellation it holds the server as it was that day. It is named Saved before cancellation with the date, and you find it under Snapshots (Take a server snapshot).
What ends with the service
Section titled What ends with the serviceThe dialog names what each product deletes:
| Service | When it ends |
|---|---|
| App Deployment server | The server and its files are deleted. A snapshot you chose to keep stays under Snapshots. |
| App Deployment web service, static site or hybrid site | The deployment and its releases are deleted, and its addresses stop answering. |
| Cloud Compute instance | The instance is stopped, and its disk, with every snapshot on it, is deleted (Change an instance's plan or cancel it). |
| Floating IP | The address goes back to the pool, and anything pointing at it stops resolving. |
| Mail Hosting and SMTP Relay | Mailboxes, aliases and stored mail are deleted. |
| Object Storage | Buckets and access keys stop working. Coritan keeps the objects for the number of days the dialog shows, and then deletes them. |
| Snapshot storage | Its space leaves your snapshot allowance, and Coritan deletes no snapshot then. If your snapshots no longer fit, a grace period starts (When the account is over). |
| Game proxy | The join address stops resolving. Your own server is not touched. |
The service's capacity add-ons, such as extra ports on a server, end with it: on the same date, or at once when you cancel immediately. Coritan cancels their unpaid invoices too. A product you ordered with the service, such as a floating IP, is a service of its own and keeps renewing, so cancel it on its own if you no longer need it.
Orders you have not paid for
Section titled Orders you have not paid forYou do not need to cancel an order you decided against. An App Deployment or floating IP order that is still unpaid and not set up after 48 hours, by default, is cancelled on its own, along with its invoice. Any other unpaid order stays on your account until you cancel it with Immediately.
Troubleshooting
Section titled Troubleshooting- The Cancel service card is missing
- A cancellation is already scheduled, or the service has ended. The Cancellation scheduled alert shows the end date, with Keep this service (Keep a service that is set to end).
- A server has no Billing tab
- Only the account that ordered a server sees its Billing tab. On a server someone shared with you, ask its owner to cancel it.
Service already scheduled for end-of-term termination- You cancelled the service before, at the end of its term. To end it sooner, contact support.
Service already cancelled/terminated- The service has ended or is being removed.
- Could not cancel the service
- The cancellation failed. The message beside it gives the reason. Try again, or contact support.
- You want to keep a service that is scheduled to end
- Select Keep this service on the Cancellation scheduled alert before the end date (Keep a service that is set to end). If the button answers that our team set the end date, contact support.
- There is no
Saved before cancellationsnapshot - Coritan skips the snapshot when the server has a recent snapshot already, and when it cannot take one. Look under Snapshots for the most recent snapshot of the server.
Keep a service that is set to end
Section titled Keep a service that is set to endA cancellation at the end of the term can be withdrawn while the service is still running. In the dashboard, open the service's Billing tab and select Keep this service on the Cancellation scheduled alert. The alert and the button go away, the Cancel service card comes back, and a message reads Cancellation withdrawn. The service renews as before. If the service cannot be kept, the alert shows the sentence from the table below. The same step with the API is POST /services/{service_ref}/keep. It takes no body. The end date goes back to empty, the capacity add-ons that were set to end with the service stay too, and the service renews as before. The answer is the service, as GET /services/{service_ref} returns it, with termination_date set to null. The request goes to the service's history and to your account's activity log.
curl -X POST https://api.coritan.com/api/v1/services/311/keep \
-H "Authorization: Bearer $CORITAN_TOKEN"
Withdrawing a cancellation does not bring back what the cancellation did. An unpaid invoice it cancelled stays cancelled, and a plan change it cleared stays cleared. The next renewal is invoiced as usual, on the plan the service is on now. A service that has ended cannot be kept. A cancellation made with Immediately ends the service, so only an end-of-term cancellation can be withdrawn.
The route answers 409 with {"code", "message"} when it cannot keep the service:
code |
Cause |
|---|---|
not_cancelled |
The service is not set to end, so there is nothing to keep. |
already_ended |
The service has ended, or its end date has passed. |
not_active |
The service is suspended or not running. Contact support. |
scheduled_by_support |
Our team set the end date. Contact support. |
A service of another account answers 403. You can keep the same service 20 times an hour, and the 21st request answers 429.
An account plan has its own way to keep it: choose the plan again (Choose or change your account plan). Organization portals keep their own way to withdraw a cancellation for their customers' services.
Related
Section titled Related- Change a service's plan
- Add capacity to a service
- Pay an invoice
- How hourly billing works
- Manage your subscriptions
- Manage a server's billing
With the API
Section titled With the APIPOST /services/{service_ref}/cancel cancels a service. service_ref is the service ID, or the UUID of the instance, server or floating IP behind it. Every field of the body is optional:
immediatetrueends the service now.false, the default, ends it at the end of its term. Sendtruefor an hourly service, as the dashboard does.keep_snapshottrue, the default, snapshots a game server or a database on App Deployment before anything else happens. It has no effect on other products.reason- Your reason, recorded on the service's history.
curl -X POST https://api.coritan.com/api/v1/services/311/cancel \
-H "Authorization: Bearer $CORITAN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"immediate": false, "keep_snapshot": true, "reason": "Moved to a larger server"}'
{
"message": "Scheduled for end-of-term termination; service remains active until then",
"immediate": false,
"status": "active",
"termination_date": "2026-10-10T00:00:00",
"snapshot_taken": true
}
status is the service's status after the request: active until an end-of-term date, pending_termination while an immediate cancellation runs, or terminated for a service that was never set up. termination_date is when the service ends, in UTC. snapshot_taken says whether Coritan took the snapshot.
| Status | detail |
Cause |
|---|---|---|
400 |
Service already cancelled/terminated |
The service has ended or is being removed. |
400 |
Service already scheduled for end-of-term termination |
The service is already set to end at the end of its term. |
403 |
Access denied |
The service belongs to another account. |
404 |
Service not found |
No service has that reference. |
The keep request answers 409 with detail.code and detail.message:
detail.code |
detail.message |
Cause |
|---|---|---|
not_cancelled |
This service is not set to end, so there is nothing to keep. |
No cancellation is scheduled. |
already_ended |
This service has already ended, so there is nothing to keep. |
The service has ended or is being removed. |
already_ended |
The end date of this service has passed, so it can no longer be kept. |
The end date is in the past. |
not_active |
This service is suspended, so you cannot withdraw its end date here. Contact support. |
The service is not running. The message names its status. |
scheduled_by_support |
Our team set this end date, so you cannot withdraw it here. Contact support. |
Our team scheduled the end. |
Another account's service answers 403 with Access denied, as for cancelling. The route allows 20 requests an hour for each service.
API operations on this page
| Method | Path | What it does |
|---|---|---|
POST | /api/v1/services/{service_ref}/cancel | Cancel the service now or at the end of its term |
POST | /api/v1/services/{service_ref}/keep | Withdraw a cancellation set for the end of the term, so the service keeps renewing |