Skip to main content

Quickstart

The shortest reliable path from an access token to a running virtual machine. This page covers the order of operations; for exact request and response schemas, use the API reference.

Before you start

  • A valid API token, issued in your ZennoHosting account.
  • A client that can send HTTPS requests with the Authorization header.

  • The ability to read the live image and tariff catalogues before assembling the create request.

Verify connectivity

Start with a safe read. It confirms the base URL and the authorization header are right — before you begin creating a project and a VM.

curl --request GET \
  --url 'https://api.zennohosting.com/v1/projects' \
  --header 'Authorization: Bearer <token>' \
  --header 'Accept: application/json'
  1. 1

    Get an access token

    Issue a token in your ZennoHosting account and put it in a secret store rather than in code.

  2. 2

    Check access with a read request

    Call GET /projects to confirm the API accepts your base URL and token before you prepare anything else.

  3. 3

    Look at your quotas

    GET /limits shows how many projects and VMs you may still create and how much CPU, memory and disk is left. That is cheaper than being refused at creation time.

  4. 4

    Gather the inputs

    Read configurations, images and tariffs. If the VM needs a new public IP, pick a separate tariff for it — a VM tariff will not do.

  5. 5

    Create a project

    A project owns VMs, SSH keys, networks and public IPs. Create it first and reuse its identifier in the calls that follow.

  6. 6

    Choose how access works

    Decide whether to pass public keys directly through sshPublicKeys or reference keys registered in the project through sshKeyIds. Settle whether you need plugins at the same time.

  7. 7

    Create the VM

    Send the request with an image, a tariff, a name and your access parameters. The same request can describe the public IP, private network attachments and plugins.

  8. 8

    Save the password immediately if one is returned

    A password in the response is shown once. No endpoint will return it later, so store it right away.

  9. 9

    Wait until the VM is ready

    Creation is asynchronous. A 202 Accepted with a commandId only means the work was accepted. From there, poll the VM and watch status: creating while it is being built, active once ready. bootStatus shows power.

What you should end up with

A working token, a project identifier, a VM identifier, a recorded access method and a confirmed VM state — rather than just an accepted command.

Common mistakes

Take identifiers from live API responses, not from the examples on this page. Nearly every first-time failure comes down to a stale projectId, imageId or tariffId — or to assuming the VM is ready right after 202 Accepted.