Organization API: Customer Portal: External servers
The 5 Organization API operations for external servers.
Part of Customer Portal.
Operations
Section titled Operations| Method | Path | Summary |
|---|---|---|
| GET | /api/v1/orgs/{org_slug}/portal/external-servers |
List external servers |
| GET | /api/v1/orgs/{org_slug}/portal/external-servers/regions |
Regions an existing external server can be moved to |
| GET | /api/v1/orgs/{org_slug}/portal/external-servers/{service_id} |
Get external server |
| PATCH | /api/v1/orgs/{org_slug}/portal/external-servers/{service_id} |
Change where players are forwarded, how, and through which region |
| POST | /api/v1/orgs/{org_slug}/portal/external-servers/{service_id}/test |
Status-ping the backend now and record the answer |
List external servers
Section titled List external serversGET /api/v1/orgs/{org_slug}/portal/external-servers
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
org_slug |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Regions an existing external server can be moved to
Section titled Regions an existing external server can be moved toGET /api/v1/orgs/{org_slug}/portal/external-servers/regions
Regions an existing external server can be moved to.
Parameters
Section titled Parameters| Name | In | Type | Required |
|---|---|---|---|
org_slug |
path | string | yes |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Get external server
Section titled Get external serverGET /api/v1/orgs/{org_slug}/portal/external-servers/{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. |
Change where players are forwarded, how, and through which region
Section titled Change where players are forwarded, how, and through which regionPATCH /api/v1/orgs/{org_slug}/portal/external-servers/{service_id}
Change where players are forwarded, how, and through which region.
Send only the fields to change. For a Java server, bedrock_bridge and geyser_port
control Geyser, which lets Bedrock players join at the same join name: a geyser_port
turns it on at that port, bedrock_bridge: true alone uses port 19132, and geyser_port: null
or bedrock_bridge: false turns it off. The port must differ from the Java port and be
between 1024 and 65535, and a Bedrock server takes none. A refusal answers 422 with the
reason in detail.errors. The reply is the server, with geyser set to what Geyser
answered when a Geyser or address change just ran a check, and null otherwise.
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 | Description |
|---|---|---|---|
upstream_host |
string or null | no | |
upstream_port |
integer or null | no | |
proxy_protocol |
boolean or null | no | |
real_ip |
boolean or null | no | |
mode |
string or null | no | |
bedrock_bridge |
boolean or null | no | Java only. true turns Geyser on (port 19132 unless geyser_port is set), false turns it off. |
geyser_port |
integer or null | no | Java only. The port Geyser's built-in NetherNet signalling listens on, TCP and UDP, from 1024 to 65535 and different from the Java port. A number turns Geyser on. null turns it off. |
location_id |
integer or null | no | |
display_name |
string or null | no |
Responses
Section titled Responses| Status | Meaning |
|---|---|
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Status-ping the backend now and record the answer
Section titled Status-ping the backend now and record the answerPOST /api/v1/orgs/{org_slug}/portal/external-servers/{service_id}/test
Status-ping the backend now and record the answer.
Returns probe (what the Java or Bedrock server answered), state (online or offline)
and geyser. geyser is null for a server with no Geyser port. Otherwise it is
{reachable, transport, message}: reachable is true when Geyser answered the edge's
NetherNet status request, transport is nethernet or raknet (null when nothing
answered), and message says what to fix when it is not reachable. A Geyser that does
not answer does not change state.
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. |