Skip to content
Coritan Docs

Manage customer services

Order a service for a customer, find any service your customers hold, and suspend or restore one.

View as Markdown

A customer service is one product a customer holds at one price. Services appear when customers order on your storefront, and you can also order one for a customer yourself, for example to replace a service or to set up a customer by hand. The Services tab lists every service your customers hold, and lets you suspend one and restore it.

  • Any member can see services. Ordering, suspending and unsuspending take the owner or admin role.
  • To order, you need an active customer and a product that is available, with at least one active plan. See Set up products and pricing.
  1. In the dashboard, open the organization, then the Services tab.
  2. Type in Search hostname, customer or product, or choose a status in the list next to it. The search also matches the plan name, a tag and the service number.
  3. Select a service to open it.

The service page shows its Service ID, status, Billing cycle, price, next due date and Platform service: the Coritan service behind a linked product, or Not set up when there is none. The Customer card links to the customer with Open customer.

Status Meaning
pending Ordered. For a linked product, Coritan is creating the resource.
active Running and renewing each billing cycle.
suspended Stopped for the customer by you or for an unpaid invoice.
cancelled Ended by a cancellation.
terminated Ended and removed.

Order a service for a customer

Section titled Order a service for a customer
  1. On the Services tab, select Order for a customer.
  2. Choose the customer, then a Product and a Plan.
  3. Enter a Hostname if you want one. It is a label for the service, or the hostname for a server.
  4. Select Order service.

The dashboard confirms the order, and the service starts as pending. For a linked product, Coritan starts creating the resource straight away, on your Coritan account at Coritan's price. Ordering here does not charge the customer. Your webhooks receive service.ordered.

Suspend or unsuspend a service

Section titled Suspend or unsuspend a service
  1. Select Suspend on the service's row, or on the service page.
  2. Confirm with Suspend service.

The service stops for the customer, and for a linked product Coritan suspends the resource behind it. Billing continues while it is suspended. The customer receives your organization's suspension email, and your webhooks receive service.suspended.

To restore it, select Unsuspend, then Unsuspend service. The service becomes active again, the resource starts again, and your webhooks receive service.unsuspended.

Customer not found or inactive
The customer is suspended or closed. Set their status back to active on the Customers tab first.
Product not found or inactive or Pricing plan not found or inactive
The product is not available, or the plan has been turned off. Check them on the Products tab.
Service limit reached (500/500)
Your organization holds as many services as Coritan allows it. Ask support to raise the limit.
Service is not active or Service is not suspended
Only an active service can be suspended, and only a suspended one unsuspended.
422 with errors
For a linked server or instance, the location or the configuration cannot be ordered, for example because the location has no capacity. The message names the problem.

List services, newest first. The query takes q, status_filter, customer_id, tag, limit, offset and with_total=true, as the customer list does.

Shell
curl "https://api.coritan.com/api/v1/orgs/acme/services?customer_id=812&status_filter=active" \
  -H "Authorization: Bearer $CORITAN_TOKEN"

Order a service with customer_id, org_product_id and org_pricing_id, and optionally hostname (up to 100 characters) and config for a linked product that takes options:

Shell
curl -X POST https://api.coritan.com/api/v1/orgs/acme/services \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"customer_id": 812, "org_product_id": 5, "org_pricing_id": 11, "hostname": "survival-smp"}'

The answer is 201 with the service, including status, billing_cycle, amount, platform_service_id and next_due_date. Read one with GET /services/{service_id}, and suspend or restore it with POST /services/{service_id}/suspend and POST /services/{service_id}/unsuspend.

Tags are short labels your team searches by. Any member can read them; changing them takes Tier 3 support or higher. {source_type} is org_service for a customer service, and the tag API also takes vps and container_server.

  • GET /tags/vocabulary?source_type=org_service lists every tag in use.
  • GET /tags/sources/org_service/{service_id} reads a service's tags.
  • POST on the same path with {"tag": "vip"} adds one, and PUT with {"tags": ["vip", "eu"]} replaces them all.
  • DELETE /tags/sources/org_service/{service_id}/vip removes one.

API operations on this page