Client API: Catalog
Browse sellable products and plan options.
Browse sellable products and plan options. Listing is public and needs no auth.
Base URL: https://api.coritan.com/api/v1. Paths below are complete.
To try these requests in the browser, open the interactive Client API reference.
Operations
Section titled Operations| Method | Path | Summary |
|---|---|---|
| GET | /api/v1/client/containers/catalog |
Browse platform specializations available for deploy composition |
| GET | /api/v1/client/containers/catalog/{slug}/compose |
Get software versions + recommended runtimes for a specialization |
| GET | /api/v1/locations |
List locations |
| GET | /api/v1/locations/availability |
Locations availability |
| GET | /api/v1/products/ |
List products |
| GET | /api/v1/products/{product_id} |
Get product |
Browse platform specializations available for deploy composition
Section titled Browse platform specializations available for deploy compositionGET /api/v1/client/containers/catalog
Browse platform specializations available for deploy composition.
Carries the same icons, colours and grouping as the org storefront's
storefront/specializations and the panel's Software tab, so the
platform order page does not have to draw a Paper server with a generic
terminal glyph. The MCJars lookup is cached and never blocks once warm.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
category |
query | string or null | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
A 200 response is a list; each item has these fields:
| Field | Type |
|---|---|
[].uuid |
string |
[].slug |
string or null |
[].name |
string |
[].description |
string or null |
[].runtime_template_slug |
string or null |
[].org_id |
integer or null |
[].default_variables |
object or null |
[].metadata |
object or null |
[].category |
string or null |
[].versioned |
boolean |
[].version_variable |
string or null |
[].version_source_slug |
string or null |
[].software_identifier |
string or null |
[].runtime_family |
string or null |
[].icon_url |
string or null |
[].color |
string or null |
[].group |
string or null |
[].deprecated |
boolean |
Get software versions + recommended runtimes for a specialization
Section titled Get software versions + recommended runtimes for a specializationGET /api/v1/client/containers/catalog/{slug}/compose
Get software versions + recommended runtimes for a specialization.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug |
path | string | yes | |
supported_only |
query | boolean | no | Default: True. |
include_snapshots |
query | boolean | no | Default: False. |
limit |
query | integer | no | Default: 200. |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Fields of a 200 response:
| Field | Type |
|---|---|
slug |
string or null |
uuid |
string |
name |
string |
description |
string or null |
runtime_template_slug |
string or null |
default_variables |
object or null |
metadata |
object or null |
category |
string or null |
versioned |
boolean |
version_variable |
string or null |
version_source_slug |
string or null |
software_identifier |
string or null |
adapter_type |
string or null |
runtime_family |
string or null |
versions |
array of CatalogVersionOption |
versions[].version_id |
string |
versions[].name |
string |
versions[].release_date |
string or null |
versions[].supported |
boolean or null |
versions[].required_java |
integer or null |
versions[].build_number |
integer or null |
versions[].recommended_runtime_slug |
string or null |
versions[].recommended_runtime_uuid |
string or null |
versions[].recommended_runtime_name |
string or null |
versions[].game_versions |
array of string |
versions[].metadata |
object or null |
versions[].runtime_template_slug |
string or null |
versions[].runtime_template_uuid |
string or null |
runtime_versions |
array of CatalogVersionOption |
runtime_versions[].version_id |
string |
runtime_versions[].name |
string |
runtime_versions[].release_date |
string or null |
runtime_versions[].supported |
boolean or null |
runtime_versions[].required_java |
integer or null |
runtime_versions[].build_number |
integer or null |
runtime_versions[].recommended_runtime_slug |
string or null |
runtime_versions[].recommended_runtime_uuid |
string or null |
runtime_versions[].recommended_runtime_name |
string or null |
runtime_versions[].game_versions |
array of string |
runtime_versions[].metadata |
object or null |
runtime_versions[].runtime_template_slug |
string or null |
runtime_versions[].runtime_template_uuid |
string or null |
runtimes |
array of CatalogRuntimeOption |
runtimes[].uuid |
string |
runtimes[].slug |
string |
runtimes[].name |
string |
runtimes[].docker_image |
string or null |
runtimes[].description |
string or null |
defaults |
Defaults |
List locations
Section titled List locationsGET /api/v1/locations
Parameters
Section titled Parameters| Name | In | Type | Required | Description |
|---|---|---|---|---|
active_only |
query | boolean | no | Default: True. |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
A 200 response is a list; each item has these fields:
| Field | Type |
|---|---|
[].id |
integer |
[].code |
string |
[].name |
string |
[].country_code |
string |
[].timezone |
string or null |
[].latitude |
number or null |
[].longitude |
number or null |
[].lb_region_code |
string or null |
[].sort_order |
integer |
[].is_active |
boolean |
[].created_at |
string (date-time) |
[].updated_at |
string (date-time) |
Locations availability
Section titled Locations availabilityGET /api/v1/locations/availability
Parameters
Section titled Parameters| Name | In | Type | Required | Description |
|---|---|---|---|---|
module |
query | string | yes | vps or container |
hardware_tier_id |
query | integer or null | no | |
template_id |
query | integer or null | no | VPS OS template id |
memory_mb |
query | integer | no | Default: 512. |
disk_gb |
query | integer | no | VPS disk GB Default: 10. |
disk_mb |
query | integer | no | Container disk MB Default: 10240. |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
A 200 response is a list; each item has these fields:
| Field | Type |
|---|---|
[].id |
integer |
[].code |
string |
[].name |
string |
[].country_code |
string |
[].available |
boolean |
[].reason |
string or null |
List products
Section titled List productsGET /api/v1/products/
Parameters
Section titled Parameters| Name | In | Type | Required | Description |
|---|---|---|---|---|
group |
query | string | no | |
hardware_tier |
query | string | no | |
hardware_tier_id |
query | integer | no | |
page |
query | integer | no | Default: 1. |
per_page |
query | integer | no | Default: 100. |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
A 200 response is a list; each item has these fields:
| Field | Type |
|---|---|
[].id |
integer |
[].name |
string |
[].slug |
string |
[].description |
string or null |
[].group_name |
string or null |
[].module_name |
string |
[].hardware_tier_id |
integer or null |
[].hardware_tier |
HardwareTierSummary or null |
[].hardware_tier.id |
integer |
[].hardware_tier.slug |
string |
[].hardware_tier.name |
string |
[].hardware_tier.code |
string |
[].hardware_tier.description |
string or null |
[].status |
string |
[].config_schema |
object or null |
[].sort_order |
integer |
[].stock_limit |
integer or null |
[].metadata |
object or null |
[].pricing |
array of PricingResponse |
[].pricing[].id |
integer |
[].pricing[].product_id |
integer |
[].pricing[].name |
string |
[].pricing[].billing_cycle |
string |
[].pricing[].price |
number |
[].pricing[].setup_fee |
number |
[].pricing[].currency |
string |
[].pricing[].is_active |
boolean |
[].pricing[].sort_order |
integer |
[].pricing[].metadata |
object or null |
[].pricing[].created_at |
string (date-time) |
[].config_options |
array of ConfigOptionResponse |
[].config_options[].id |
integer |
[].config_options[].product_id |
integer |
[].config_options[].field_name |
string |
[].config_options[].label |
string |
[].config_options[].field_type |
string |
[].config_options[].options |
object or null |
[].config_options[].default_value |
string or null |
[].config_options[].required |
boolean |
[].config_options[].price_modifier |
number |
[].config_options[].sort_order |
integer |
[].is_orderable_now |
boolean or null |
[].stock_status |
string or null |
[].availability_reason |
string or null |
[].group_is_orderable_now |
boolean or null |
[].group_stock_status |
string or null |
[].locations |
array of ProductLocationAvailability |
[].locations[].id |
integer |
[].locations[].code |
string |
[].locations[].name |
string |
[].locations[].country_code |
string |
[].locations[].available |
boolean |
[].locations[].orderable |
boolean |
[].locations[].reason |
string or null |
[].created_at |
string (date-time) |
Get product
Section titled Get productGET /api/v1/products/{product_id}
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
product_id |
path | integer | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Fields of a 200 response:
| Field | Type |
|---|---|
id |
integer |
name |
string |
slug |
string |
description |
string or null |
group_name |
string or null |
module_name |
string |
hardware_tier_id |
integer or null |
hardware_tier |
HardwareTierSummary or null |
hardware_tier.id |
integer |
hardware_tier.slug |
string |
hardware_tier.name |
string |
hardware_tier.code |
string |
hardware_tier.description |
string or null |
status |
string |
config_schema |
object or null |
sort_order |
integer |
stock_limit |
integer or null |
metadata |
object or null |
pricing |
array of PricingResponse |
pricing[].id |
integer |
pricing[].product_id |
integer |
pricing[].name |
string |
pricing[].billing_cycle |
string |
pricing[].price |
number |
pricing[].setup_fee |
number |
pricing[].currency |
string |
pricing[].is_active |
boolean |
pricing[].sort_order |
integer |
pricing[].metadata |
object or null |
pricing[].created_at |
string (date-time) |
config_options |
array of ConfigOptionResponse |
config_options[].id |
integer |
config_options[].product_id |
integer |
config_options[].field_name |
string |
config_options[].label |
string |
config_options[].field_type |
string |
config_options[].options |
object or null |
config_options[].default_value |
string or null |
config_options[].required |
boolean |
config_options[].price_modifier |
number |
config_options[].sort_order |
integer |
is_orderable_now |
boolean or null |
stock_status |
string or null |
availability_reason |
string or null |
group_is_orderable_now |
boolean or null |
group_stock_status |
string or null |
locations |
array of ProductLocationAvailability |
locations[].id |
integer |
locations[].code |
string |
locations[].name |
string |
locations[].country_code |
string |
locations[].available |
boolean |
locations[].orderable |
boolean |
locations[].reason |
string or null |
created_at |
string (date-time) |