Client API: Game Shield
Join addresses on the platform's join domain: names, branding and custom domains.
Join addresses on the platform's join domain: names, branding and custom domains.
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 |
|---|---|---|
| POST | /api/v1/gameproxy/availability |
Claim check on the write primary so create/delete races cannot lie |
| POST | /api/v1/gameproxy/name-suggestions |
Name suggestions |
| GET | /api/v1/gameproxy/policy |
Storefront-facing effective policy (auto-provision + base domain) |
| GET | /api/v1/gameproxy/routes |
List my routes |
| POST | /api/v1/gameproxy/routes |
A join address on the platform's domain for one of the account's own servers |
| PATCH | /api/v1/gameproxy/routes/{route_id} |
Update my route branding |
| GET | /api/v1/gameproxy/routes/{route_id}/custom-domain |
Vanity CNAME state for this route's join address |
| POST | /api/v1/gameproxy/routes/{route_id}/custom-domain |
Link route custom domain |
| PATCH | /api/v1/gameproxy/routes/{route_id}/custom-domain |
Show the vanity hostname, or the hosted one, in the public server list |
| DELETE | /api/v1/gameproxy/routes/{route_id}/custom-domain |
Unlink route custom domain |
| POST | /api/v1/gameproxy/routes/{route_id}/custom-domain/verify |
Check the CNAME now rather than waiting for the next maintenance pass |
Claim check on the write primary so create/delete races cannot lie
Section titled Claim check on the write primary so create/delete races cannot liePOST /api/v1/gameproxy/availability
Claim check on the write primary so create/delete races cannot lie.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
org_id |
query | integer or null | no |
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
subdomain |
string | yes |
base_domain |
string or null | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Name suggestions
Section titled Name suggestionsPOST /api/v1/gameproxy/name-suggestions
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
org_id |
query | integer or null | no |
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
count |
integer | no |
base_domain |
string or null | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Storefront-facing effective policy (auto-provision + base domain)
Section titled Storefront-facing effective policy (auto-provision + base domain)GET /api/v1/gameproxy/policy
Storefront-facing effective policy (auto-provision + base domain).
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
org_id |
query | integer or null | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
List my routes
Section titled List my routesGET /api/v1/gameproxy/routes
The user's game routes, each with custom_domain: the answer
GET /gameproxy/routes/{id}/custom-domain gives for it, read for the
whole list at once. A route bound to a server another account holds shows
no custom domain, since that one belongs to the server's account.
Authentication: an access token, sent as Authorization: Bearer <token>.
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
A join address on the platform's domain for one of the account's own servers
Section titled A join address on the platform's domain for one of the account's own serversPOST /api/v1/gameproxy/routes
A join address on the platform's domain for one of the account's own servers.
upstream_service_id names a service the account holds and has not
ended. Another account's service, a brand customer's and an unknown id
all answer 404 Server not found before anything is created.
upstream_port may name another port that server answers on (422
lists them). upstream_host answers 422: a server hosted elsewhere is
an External Server. org_id answers 422, since a brand's join
addresses come with that brand's orders. base_domain must be a join
domain the platform offers (422 lists them), and is the platform's own
when left out. The rules live in check_customer_route because the
admin console's route create shares RouteCreate and is not held to
them.
Authentication: an access token, sent as Authorization: Bearer <token>.
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
subdomain |
string | yes |
base_domain |
string or null | no |
display_name |
string or null | no |
mode |
string | no |
upstream_service_id |
integer or null | no |
upstream_host |
string or null | no |
upstream_port |
integer or null | no |
location_id |
integer or null | no |
proxy_protocol |
boolean | no |
real_ip |
boolean or null | no |
description |
string or null | no |
org_id |
integer or null | no |
online_motd |
string or null | no |
offline_motd |
string or null | no |
favicon |
string or null | no |
version_name |
string or null | no |
status_cache_ttl_seconds |
integer or null | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Update my route branding
Section titled Update my route brandingPATCH /api/v1/gameproxy/routes/{route_id}
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
route_id |
path | integer | yes |
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
online_motd |
string or null | no |
offline_motd |
string or null | no |
favicon |
string or null | no |
version_name |
string or null | no |
display_name |
string or null | no |
description |
string or null | no |
status_cache_ttl_seconds |
integer or null | no |
clear_favicon |
boolean | no |
clear_online_motd |
boolean | no |
clear_offline_motd |
boolean | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Vanity CNAME state for this route's join address
Section titled Vanity CNAME state for this route's join addressGET /api/v1/gameproxy/routes/{route_id}/custom-domain
Vanity CNAME state for this route's join address.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
route_id |
path | integer | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Link route custom domain
Section titled Link route custom domainPOST /api/v1/gameproxy/routes/{route_id}/custom-domain
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
route_id |
path | integer | yes |
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
domain |
string | yes |
subdomain |
string | no |
include_in_list |
boolean | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Show the vanity hostname, or the hosted one, in the public server list
Section titled Show the vanity hostname, or the hosted one, in the public server listPATCH /api/v1/gameproxy/routes/{route_id}/custom-domain
Show the vanity hostname, or the hosted one, in the public server list.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
route_id |
path | integer | yes |
Request body
Section titled Request bodyapplication/json (required)
| Field | Type | Required |
|---|---|---|
include_in_list |
boolean | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Unlink route custom domain
Section titled Unlink route custom domainDELETE /api/v1/gameproxy/routes/{route_id}/custom-domain
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
route_id |
path | integer | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Check the CNAME now rather than waiting for the next maintenance pass
Section titled Check the CNAME now rather than waiting for the next maintenance passPOST /api/v1/gameproxy/routes/{route_id}/custom-domain/verify
Check the CNAME now rather than waiting for the next maintenance pass.
Authentication: an access token, sent as Authorization: Bearer <token>.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
route_id |
path | integer | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |