Skip to content
Coritan Docs

Organization API: Customer Portal: External servers

The 5 Organization API operations for external servers.

View as Markdown

Part of Customer Portal.

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

GET /api/v1/orgs/{org_slug}/portal/external-servers

Name In Type Required
org_slug path string yes
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 to

GET /api/v1/orgs/{org_slug}/portal/external-servers/regions

Regions an existing external server can be moved to.

Name In Type Required
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

GET /api/v1/orgs/{org_slug}/portal/external-servers/{service_id}

Name In Type Required
service_id path integer yes
org_slug path string yes
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 region

PATCH /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.

Name In Type Required
service_id path integer yes
org_slug path string yes

application/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
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 answer

POST /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.

Name In Type Required
service_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.