Klikk.com offers a developer-friendly, sovereign IaaS platform with a fully documented REST API that enables you to automate deployment, management, and teardown of virtual machines — ideal for SaaS companies, DevOps teams, and anyone looking to build reliable, scalable infrastructure.

In addition to the API, you also have access to a web-based CLI and management interface at https://my.klikk.com, where you can monitor, configure, and manage your infrastructure visually or via terminal.


1. Authenticate with your API token

To interact with the API, you’ll need an API token, which can be generated in your user profile at https://my.klikk.com.

Use this token in the X-Account-Token HTTP header for all authenticated requests.


2. Provisioning a virtual machine

Send a POST request to https://my.klikk.com/api with a payload like this:

JSON Payload:

{
  "action": "order_create",
  "items": [
    {
      "name": "my-app-server",
      "product": {
        "name": "VPS",
        "options": {
          "quantity_ram_gb": 2,
          "quantity_cpu": 2,
          "quantity_storage_gb": 40,
          "os": "Debian",
          "os_version": "12",
          "features": {
            "ipv4": 1,
            "sshd": {
              "authorized_keys": "ssh-rsa AAAAB3...",
              "ip_allow": "0.0.0.0/0",
              "public_ports_allow": "22,80,443"
            }
          }
        }
      }
    }
  ]
}

Examples in Python, Bash, and Ansible

🐍 Python

import requests

headers = {
    "X-Account-Token": "your_api_token",
    "Content-Type": "application/json"
}

payload = {
    "action": "order_create",
    "items": [{
        "name": "my-python-vm",
        "product": {
            "name": "VPS",
            "options": {
                "quantity_ram_gb": 2,
                "quantity_cpu": 2,
                "quantity_storage_gb": 40,
                "os": "Debian",
                "os_version": "12",
                "features": {
                    "ipv4": 1,
                    "sshd": {
                        "authorized_keys": "ssh-rsa AAAAB3...",
                        "ip_allow": "0.0.0.0/0",
                        "public_ports_allow": "22"
                    }
                }
            }
        }
    }]
}

response = requests.post("https://my.klikk.com/api", headers=headers, json=payload)
print(response.json())

💻 Bash

API_TOKEN="your_api_token"

curl -X POST https://my.klikk.com/api \
  -H "X-Account-Token: $API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "order_create",
    "items": [{
      "name": "my-bash-vm",
      "product": {
        "name": "VPS",
        "options": {
          "quantity_ram_gb": 2,
          "quantity_cpu": 2,
          "quantity_storage_gb": 40,
          "os": "Debian",
          "os_version": "12",
          "features": {
            "ipv4": 1,
            "sshd": {
              "authorized_keys": "ssh-rsa AAAAB3...",
              "ip_allow": "0.0.0.0/0",
              "public_ports_allow": "22"
            }
          }
        }
      }
    }]
  }'

📦 Ansible (with Klikk Ansible Collection)

Install:

ansible-galaxy collection install git+https://gitlab.com/xait-oss/klikk-collection.git

Playbook:

- name: Provision VM on Klikk.com
  hosts: localhost
  collections:
    - klikk.klikk
  tasks:
    - name: Create a VPS
      klikk.instance:
        token: "{{ lookup('env', 'KLIKK_TOKEN') }}"
        name: my-ansible-vm
        product: VPS
        options:
          quantity_cpu: 2
          quantity_ram_gb: 2
          quantity_storage_gb: 40
          os: Debian
          os_version: "12"
          features:
            ipv4: 1
            sshd:
              authorized_keys: "ssh-rsa AAAAB3..."
              ip_allow: "0.0.0.0/0"
              public_ports_allow: "22"

Bonus: Web CLI and dashboard

In addition to API access, you can also log in at https://my.klikk.com to:

  • Launch or delete virtual machines
  • Configure networks, firewalls, and SSH keys
  • Monitor billing, performance and usage
  • Use our browser-based CLI to interact with your infrastructure directly

FAQ

Q: What happens if I don’t have billing approval yet?

A: Your order request will return a 1xx status. A draft invoice will be generated, and once approved, your services will activate automatically.

Q: Can I automate everything?

A: Yes. All VM lifecycle events, firewall config, keys, and more can be managed via API or Ansible.

Q: Where can I find full documentation?

A: Visit https://my.klikk.com/api for the latest docs and JSON schemas.