Organization API: Customer Portal: Services
The 12 Organization API operations for services.
Part of Customer Portal.
Operations
Section titled OperationsList my services
Section titled List my servicesGET /api/v1/orgs/{org_slug}/portal/services
Parameters
Section titled Parameters| Name | In | Type | Required | Description |
|---|---|---|---|---|
org_slug |
path | string | yes | |
status_filter |
query | string | no | |
page |
query | integer | no | Default: 1. |
per_page |
query | integer | no | Default: 50. |
consistency |
query | string, one of strong, eventual |
no | strong (default): read the primary, as a client that has just written must. eventual: an idle poll that may read a pooled replica; the page is still healed on the primary whenever it has something to heal. Default: strong. |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
What the customer's servers are doing right now, in one request
Section titled What the customer's servers are doing right now, in one requestGET /api/v1/orgs/{org_slug}/portal/services/live
What the customer's servers are doing right now, in one request.
Declared above /services/{service_id} deliberately: that route parses an
int, so "live" would 422 rather than reach this one.
Parameters
Section titled Parameters| Name | In | Type | Required | Description |
|---|---|---|---|---|
org_slug |
path | string | yes | |
refresh |
query | boolean | no | Default: False. |
ids |
query | string | no | Comma-separated service ids to probe |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Get my service
Section titled Get my serviceGET /api/v1/orgs/{org_slug}/portal/services/{service_id}
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Cancel one of the customer's own services, now or at the end of term
Section titled Cancel one of the customer's own services, now or at the end of termPOST /api/v1/orgs/{org_slug}/portal/services/{service_id}/cancel
Cancel one of the customer's own services, now or at the end of term.
The sequence lives in app.services.org_service_lifecycle so staff
cancelling on a customer's behalf run the very same one.
A cancellation keeps a paid container on the org's free plan when it sells
one. delete_server (with immediate) is the panel's Delete Server,
which deletes it regardless; without immediate it is a 422.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
Request body
Section titled Request bodyapplication/json
| Field | Type | Required |
|---|---|---|
immediate |
boolean | no |
reason |
string or null | no |
keep_ipv4 |
boolean | no |
keep_snapshot |
boolean | no |
delete_server |
boolean | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Cancel an unpaid upgrade so a different plan can be chosen
Section titled Cancel an unpaid upgrade so a different plan can be chosenPOST /api/v1/orgs/{org_slug}/portal/services/{service_id}/cancel-plan-change
Cancel an unpaid upgrade so a different plan can be chosen.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
What cancelling right now would return, before committing to it
Section titled What cancelling right now would return, before committing to itGET /api/v1/orgs/{org_slug}/portal/services/{service_id}/cancel-preview
What cancelling right now would return, before committing to it.
Parameters
Section titled Parameters| Name | In | Type | Required | Description |
|---|---|---|---|---|
service_id |
path | integer | yes | |
org_slug |
path | string | yes | |
immediate |
query | boolean | no | Default: True. |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Change my service plan
Section titled Change my service planPOST /api/v1/orgs/{org_slug}/portal/services/{service_id}/change-plan
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
Idempotency-Key |
header | string or null | no |
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
org_pricing_id |
integer | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Get community listing
Section titled Get community listingGET /api/v1/orgs/{org_slug}/portal/services/{service_id}/community-listing
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Upsert community listing
Section titled Upsert community listingPUT /api/v1/orgs/{org_slug}/portal/services/{service_id}/community-listing
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
display_name |
string or null | no |
slug |
string or null | no |
tagline |
string or null | no |
description |
string or null | no |
category |
string or null | no |
tags |
array of string or null | no |
website_url |
string or null | no |
discord_url |
string or null | no |
icon_data_uri |
string or null | no |
banner_data_uri |
string or null | no |
gallery |
array of string or null | no |
seo_title |
string or null | no |
seo_description |
string or null | no |
show_player_count |
boolean or null | no |
published |
boolean or null | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Update join-address branding (MOTD/favicon) for a service's sidecar gameproxy route
Section titled Update join-address branding (MOTD/favicon) for a service's sidecar gameproxy routePATCH /api/v1/orgs/{org_slug}/portal/services/{service_id}/gameproxy
Update join-address branding (MOTD/favicon) for a service's sidecar gameproxy route.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
Request body
Section titled Request bodyapplication/json (required)
Type: Body.
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
What a plan change costs today, before committing to it
Section titled What a plan change costs today, before committing to itGET /api/v1/orgs/{org_slug}/portal/services/{service_id}/plan-preview
What a plan change costs today, before committing to it.
Charged on the days left in the current cycle, not the full price difference: moving up on the last day of the month should cost a day.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
org_pricing_id |
query | integer | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Sizes this service can move to
Section titled Sizes this service can move toGET /api/v1/orgs/{org_slug}/portal/services/{service_id}/plans
Sizes this service can move to.
Constrained to the same game, the same hardware tier and the same billing cycle, so the list is genuinely "the same thing, bigger or smaller". Without the game filter a Minecraft server was offered Terraria and Rust plans, and without the cycle filter the same size appeared once per billing period.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
service_id |
path | integer | yes |
org_slug |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |