# Create

Connect a new server inside the organization.

# HTTP Request:

POST https://api.serveravatar.com/organizations/{organization}/direct-installation/generate-command

# Custom Parameters:

parameters Required Type Description
name Yes String Name of the Server.
web_server Yes String Select any one web server apache2, nginx, openlitespeed or mern.
database_type Yes String Select any one database type mysql, mariadb or mongodb.
nodejs Yes Boolean Set true if you want to install Node.js on the Server.
yarn No Boolean Set true if you want to install Yarn on mern web server.
root_password_available Yes Boolean Set true if you have root and password.
ip No String Required if, root_password_available is true
ssh_port No Numeric Required if, root_password_available is true
root_password No String Required if, root_password_available is true
forceCleanup No Boolean Set true for clean up your server.

# Direct Installation

Connect a custom server with root password.

# Curl Request example:

curl --request POST \
  --url "https://api.serveravatar.com/organizations/{organization}/direct-installation/generate-command" \
  --header 'content-type: application/json' \
  --header 'accept: application/json' \
  --header 'Authorization: <YOUR API TOKEN>' \
  --data '{
    "name": "alex-sites",
    "web_server": "nginx",
    "database_type": "mysql",
    "nodejs": false,
    "root_password_available": false
  }'

# Response:

  • 200 (Ok)
{
    "commands": "sudo wget https://api.serveravatar.com/direct_install; chmod +x direct_install; ./direct_install --webServer nginx --name alex-sites --database mysql --nodejs false --key eyJpdiI6IkJvaUFMM3UyV040Q2xSSVJnRFIxQXc9PSIsInZhbHVlIjoibFhBejBGQ21XY21...."
}

# Using Server Provider

Connect a server using Amazon Lightsail, DigitalOcean, Vultr, Linode, or Hetzner server provider.

# Parameters:

parameters Required Type Description
name Yes String Name of the Server.
provider Yes String Select any one provider lightsail, linode, hetzner, vultr, or digitalocean
cloud_server_provider_id Yes Numeric Select provider account.
version Yes String Select any one version 20 or 22.
region Yes String Select region.
availabilityZone No String Required, if provider is lightsail.
sizeSlug Yes String Select size-slug. Type must be numeric when provider is hetzner
ssh_key Yes Boolean True, if you have your own ssh-key.
public_key No String Required, if ssh_key is True.
web_server Yes String Select any one web server apache2, nginx, openlitespeed or mern.
database_type Yes String Select any one database type mysql, mariadb or mongodb.
nodejs Yes boolean Set true if you want to install Node.js on the Server.
yarn No Boolean Set true if you want to install Yarn on mern web server.
linode_root_password No String Required, if provider is linode. Password must be Uppercase, Lowercase, Number and Special Character.

# HTTP Request:

POST https://api.serveravatar.com/organizations/{organization}/servers

# Curl Request example:

curl --request POST \
  --url "https://api.serveravatar.com/organizations/{organization}/servers" \
  --header 'content-type: application/json' \
  --header 'accept: application/json' \
  --header 'Authorization: <YOUR API TOKEN>' \
  --data '{
    "name": "alex-sites",
    "provider": "lightsail",
    "cloud_server_provider_id": 21,
    "version": 20,
    "region": "us-east-1",
    "availabilityZone": "us-east-1a",
    "sizeSlug": "nano_2_0",
    "ssh_key": 1,
    "public_key": "{Your SSH Key}",
    "web_server": "apache2",
    "database_type": "mysql",
    "nodejs": false
  }'

# Response:

  • 200 (Ok)
{
  "message": "The server creation process has been started.",
  "server": {
    "id": 14,
    "organization_id": 5,
    "provider_name": "lightsail",
    "ip": "53.21.17.517",
    "name": "alex-sites",
    "hostname": "ip-172-26-3-160",
    "operating_system": "ubuntu",
    "version": "20.04",
    "arch": "x86_64",
    "cores": 1,
    "web_server": "nginx",
    "ssh_status": "1",
    "php_cli_version": 8,
    "database_type": "mysql",
    "ssh_port": 22,
    "agent_status": "1",
    "agent_version": "7.0",
    "php_versions": "[\"8.0\",\"8.2\",\"8.1\",\"7.4\",\"7.3\",\"7.2\"]",
    "timezone": "Asia/Kolkata",
    "root_password_authentication": "yes",
    "permit_root_login": "yes",
    "country_code": "US",
    "ols_automatically_restart": 0,
    "restart_required": 0,
    "firewall": 0,
    "nodejs": 0,
    "created_at": "2023-02-18 20:27:47",
    "updated_at": "2023-02-20 01:50:55",
    "deleted_at": null,
  }
}

# Server Name Exists

  • 500 (Internal Server Error)
{
    "message": "Server instance name already exists!"
}

# Provider Not Found

  • 404 (Not Found)
{
    "message": "Server Provider not found!"
}

# Forbidden

  • 403 (Forbidden)
{
    "message": "You can not perform this action!"
}

# Credit Error

  • 500 (Internal Server Error)
{
    "message": "Not enough credits. Please add credits!"
}

# Provider OS Version Error

  • 500 (Internal Server Error)
{
    "message": "We support Ubuntu 20.04 and 22.04 in {Provider Name}."
}

# Allowed Servers

  • 500 (Internal Server Error)
{
    "message": "You cannot add more than {Your Subscription Allowed Servers} servers in this account. Please upgrade or contact support."
}

# Free Server limit

  • 500 (Internal Server Error)
{
    "message": "You cannot add more than 1 free servers in this account."
}

# Server Error

  • 500 (Internal Server Error)
{
    "message": "Something went really wrong!"
}
Last Updated: 2/5/2024, 5:30:21 AM