Create Server API

Add new VPN servers to your infrastructure with complete configuration options

Infrastructure

Create Server API

Add new VPN servers to your infrastructure. Configure hostname, IP addresses, location, SSH credentials, and advanced settings for seamless deployment.

Deploy Servers

Add new VPN servers instantly.

Global Coverage

Configure servers worldwide.

Secure Setup

SSH credentials and security config.


Endpoint Overview

MUTATION/graphql

Create a new VPN server with complete configuration including network settings, location data, SSH credentials, and bridge configuration.

Authentication:Bearer Token
Required scopes:admin

Request Parameters

hostNameString!Required

The hostname or FQDN for the server.

publicIpString!Required

The server's public-facing IP address.

privateIpString

Internal/private IP address if in a VPC.

typeString!Required

Server type (e.g., "wireguard", "openvpn", "vless").

portsInt

Number of available ports or specific port configuration.

cityString

City where the server is located.

countryString

Country code or name.

continentString

Continent for regional grouping.

sshUsernameString

Username for SSH access to the server.

sshKeyString

SSH private key or key reference for authentication.

secretString

Server secret/API key for internal communication.

killCommandString

Command to terminate server processes.

rootCommandString

Root command prefix for privileged operations.

bridgeIpString

Bridge server IP for relay configurations.

bridgeCountryString

Country of the bridge server.

zeusString

Zeus configuration for advanced routing.

heroString

Hero server designation flag.

spotString

Spot instance configuration.

descriptionString

Human-readable description of the server.


GraphQL Mutation

mutation createServer($server: ServerEdit!) {
  createServer(server: $server) {
    id
    hostName
    publicIp
    privateIp
    type
    city
    country
    continent
    ports
    description
    createdAt
  }
}

Variables:

{
  "server": {
    "hostName": "us-west-1.vpn.example.com",
    "publicIp": "203.0.113.100",
    "privateIp": "10.0.1.100",
    "type": "wireguard",
    "city": "Los Angeles",
    "country": "US",
    "continent": "North America",
    "ports": 51820,
    "sshUsername": "admin",
    "sshKey": "ssh-rsa AAAA...",
    "description": "Primary US West Coast server"
  }
}

HTTP Request:

curl -X POST https://api.orbnet.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{
    "query": "mutation createServer($server: ServerEdit!) { createServer(server: $server) { id hostName publicIp type city country } }",
    "variables": {
      "server": {
        "hostName": "us-west-1.vpn.example.com",
        "publicIp": "203.0.113.100",
        "type": "wireguard",
        "city": "Los Angeles",
        "country": "US"
      }
    }
  }'

Response

200Server Created Successfully
{
  "data": {
    "createServer": {
      "id": "srv_12345",
      "hostName": "us-west-1.vpn.example.com",
      "publicIp": "203.0.113.100",
      "privateIp": "10.0.1.100",
      "type": "wireguard",
      "city": "Los Angeles",
      "country": "US",
      "continent": "North America",
      "ports": 51820,
      "description": "Primary US West Coast server",
      "createdAt": "2024-01-15T10:30:00Z"
    }
  }
}
400IP Already In Use
{
  "errors": [
    {
      "message": "Server with this public IP already exists",
      "path": ["createServer"],
      "extensions": {
        "code": "IP_EXISTS"
      }
    }
  ],
  "data": null
}

Server Types

WireGuard

Modern, fast VPN protocol with excellent performance.

OpenVPN

Widely compatible, proven security protocol.

VLESS

Lightweight protocol for bypassing restrictions.

Reality

Advanced camouflage protocol for difficult networks.


Deployment Checklist

Prepare Server

Configure SSH

Install VPN Software

Register Server


Best Practices

Use SSH Keys

Always use key-based SSH authentication.

Accurate Location

Set correct location for user routing.

Descriptive Names

Use clear hostnames for easy management.

Test Connectivity

Verify server is reachable before adding.



Server Activation

After creating a server, it may require additional configuration on the actual server to begin accepting connections.

Monitor Server Health

After deployment, monitor your server's performance and connection statistics.

View Statistics