OMC Cloud REST API

Programmatically manage your cloud infrastructure with the OMC Cloud REST API. Create servers, manage snapshots, configure networking, and automate everything you can do in the dashboard.

Quick Start

The OMC Cloud API is RESTful and works with any HTTP client in any language. Authenticate with your client ID and secret, then call any endpoint.

Base URL
https://console.omc.cloud/service
Format
JSON
Auth
Client ID + Secret
HTTPS
Required

Authentication

Generate your API credentials in your OMC Cloud dashboard under Settings → API Keys. You'll receive a clientId and secret.

You can authenticate requests in two ways:

Option 1 — Direct credentials in headers

curl https://console.omc.cloud/service/servers 
  -H "Content-Type: application/json" 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET"

Option 2 — Token-based (recommended for repeated calls)

First, exchange credentials for a 1-hour token:

curl -X POST https://console.omc.cloud/service/authenticate 
  -H "Content-Type: application/json" 
  -d '{"clientId":"YOUR_CLIENT_ID","secret":"YOUR_SECRET"}'

Response:

{
  "authentication": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "expires": 1745393200
}

Then use the token in subsequent requests:

curl https://console.omc.cloud/service/servers 
  -H "Content-Type: application/json" 
  -H "authorization: YOUR_TOKEN"

Server Management

GETList all servers+
/servers

Returns an array of all servers in your account with their ID, datacenter, name, and power state.

cURL
curl https://console.omc.cloud/service/servers 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET"
Python
import requests

url = "https://console.omc.cloud/service/servers"
headers = {
    'Content-Type': 'application/json',
    'clientId': 'YOUR_CLIENT_ID',
    'secret': 'YOUR_SECRET',
}
response = requests.get(url, headers=headers)
print(response.json())
GETGet available server creation options+
/server

Returns the full list of available datacenters, CPU types, RAM sizes, disk options, OS templates, traffic packages, networks, and billing types you can use when creating a new server.

cURL
curl https://console.omc.cloud/service/server 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET"
POSTCreate a new server+
/server

Provisions a new virtual server with the specified configuration. Returns a task ID you can poll for completion.

Required fields

  • disk_src_0 — OS image ID
  • datacenter — Location code
  • name — Server name (4-40 chars, alphanumeric + ./-/_)
  • cpu — CPU type and count (e.g., 1B, 2D)
  • ram — Memory in MB
  • password — 9-32 chars, mixed case + numeric
  • billingmonthly or hourly
  • traffic — Traffic package ID (e.g., t5000)
  • disk_size_0 — Disk size in GB
  • network_name_0 — Network name (use wan for auto IP)

Optional fields

  • managed — Enable managed services
  • backup — Enable daily backups
  • power — Auto-boot on completion
  • selectedSSHKeyValue — Public SSH key
  • network_ip_0 — Specific IP (optional with WAN)
cURL
curl -X POST https://console.omc.cloud/service/server 
  -H "Content-Type: application/json" 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET" 
  -d '{
    "disk_src_0": "IL:XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "datacenter": "IL-TLV",
    "name": "my-production-server",
    "cpu": "2B",
    "ram": "4096",
    "password": "YourSecurePass123",
    "network_name_0": "wan",
    "billing": "monthly",
    "traffic": "t5000",
    "disk_size_0": "40"
  }'
POSTClone an existing server+
/server/clone

Duplicates an existing server including its OS, software, configuration, and data. Returns a task ID.

Required: source (UUID), name, password, billing

cURL
curl -X POST https://console.omc.cloud/service/server/clone 
  -H "Content-Type: application/json" 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET" 
  -d '{
    "source": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "server-clone",
    "password": "YourSecurePass123",
    "billing": "monthly"
  }'
GETGet server details+
/server/{serverid}

Returns full information about a specific server: ID, datacenter, CPU, RAM, power state, disks, networks (with IPs), billing type, traffic package, managed status, backup status.

cURL
curl https://console.omc.cloud/service/server/SERVER_UUID 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET"
DELETETerminate a server+
/server/{serverid}/terminate

Permanently removes a server. This action is irreversible. Required body: confirm=1. If the server is powered on, also pass force=1.

cURL
curl -X DELETE https://console.omc.cloud/service/server/SERVER_UUID/terminate 
  -H "Content-Type: application/x-www-form-urlencoded" 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET" 
  -d 'confirm=1&force=1'

Power Management

PUTControl server power state+
/server/{serverid}/power

Power a server on, off, or restart it. Send power=on, power=off, or power=restart as form data. Returns a task ID.

cURL
curl -X PUT https://console.omc.cloud/service/server/SERVER_UUID/power 
  -H "Content-Type: application/x-www-form-urlencoded" 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET" 
  -d 'power=on'

Resource Management (CPU, RAM, Disk)

GETList available CPU options+
/server/{serverid}/cpu

Returns CPU configurations the server can be resized to (A, B, T, D types with vCPU counts up to 104).

PUTChange CPU configuration+
/server/{serverid}/cpu

Resize the server's CPU. Send cpu=2B as form data.

GETList available RAM sizes+
/server/{serverid}/ram

Returns RAM sizes in MB available for each CPU type.

PUTChange RAM allocation+
/server/{serverid}/ram

Resize the server's RAM. Send ram=4096 as form data (size in MB).

GETList available disk sizes+
/server/{serverid}/disk

Returns the array of disk sizes in GB you can resize to.

PUTResize an existing disk+
/server/{serverid}/disk

Resize an existing hard disk. Send JSON: {"size":"40","index":"0","provision":"1"}

cURL
curl -X PUT https://console.omc.cloud/service/server/SERVER_UUID/disk 
  -H "Content-Type: application/json" 
  -H "clientId: YOUR_CLIENT_ID" 
  -H "secret: YOUR_SECRET" 
  -d '{"size":"40","index":"0","provision":"1"}'
POSTAdd a new disk+
/server/{serverid}/disk

Add an additional hard disk to the server. Send size=20&provision=1 as form data.

DELETEDelete a disk+
/server/{serverid}/disk/remove

Permanently delete a disk. Send index=1&confirm=1 as form data. Data loss is permanent.

Snapshots

GETList all snapshots+
/server/{serverid}/snapshots

Returns an array of all snapshots for the server with ID, name, date, active status, and depth.

POSTCreate a snapshot+
/server/{serverid}/snapshot

Create a point-in-time snapshot of the server. Send name=my-snapshot.

PUTRevert to a snapshot+
/server/{serverid}/snapshot

Restore the server to a previous snapshot. Send snapshotId=1745411375.

DELETEDelete a snapshot+
/server/{serverid}/snapshot

Remove a snapshot. Send snapshotId=1745411375.

Configuration & Billing

PUTRename a server+
/server/{serverid}/rename

Change the server's name. Send name=new-server-name. Constraints: 4-40 characters, letters/numbers/dots/dashes/underscores.

PUTChange root password+
/server/{serverid}/password

Update the server's root password. Send password=NewSecurePass123. Constraints: 9-32 chars, mixed case + numeric.

GETGet billing mode+
/server/{serverid}/billing

Returns the active and future billing mode for the server.

PUTChange billing mode+
/server/{serverid}/billing

Switch between monthly and hourly billing. Send type=monthly&traffic=t5000.

Hard Disk Library

GETList the hard disk library+
/server/{serverid}/hdlib

Returns an array of disk objects with UUID and size in GB, available for cloning.

POSTClone a disk from the library+
/server/{serverid}/hdlib

Create a new disk from a library source. Send disk_name_0=cloned-disk&disk_src_0=DISK_UUID.

SDKs & Tools

The OMC Cloud API is REST-based and works with any HTTP client. For convenience, you can also use:

cURL
Standard HTTP from any shell
Python
Use the requests library
Node.js
Use fetch, axios, or node-fetch
PHP
Use cURL or Guzzle

Error Handling

The API uses standard HTTP status codes:

  • 200 OK — Successful request
  • 400 Bad Request — Invalid parameters or malformed request
  • 401 Unauthorized — Missing or invalid credentials
  • 403 Forbidden — Authentication succeeded but permission denied
  • 404 Not Found — Resource doesn't exist
  • 500 Internal Server Error — Server-side issue (please contact support)

Most successful operations return a task ID you can use to track async progress. All requests must be sent over HTTPS.

Ready to start building?

Generate your API credentials in the OMC Cloud dashboard and start automating in minutes.

Get API Credentials →