Skip to main content

Start Here

Quickstart

Use this page when you need the shortest reliable path from an API key to a created virtual machine. The steps below stay at the workflow level and link out to the generated reference for exact schema details.

Prerequisites

  • An API key issued in the personal account.
  • A client that can send HTTPS requests with the X-API-Key header.

  • Known identifiers for the image and tariff you want to use, or permission to query them first.

Connection check

Before provisioning anything, verify that the base URL and API key are accepted by the API.

curl --request GET \
  --url 'https://client-api.dc.dev.k8s.zenno.services/projects' \
  --header 'X-API-Key: <api-key>' \
  --header 'Accept: application/json'
  1. 1

    List available provisioning options

    Read configurations, images, and tariffs first. These responses give you the identifiers you will pass into the VM creation payload.

  2. 2

    Create a project

    Projects scope the VMs, SSH keys, networks, and public IP resources you work with later. Create one project up front and reuse its identifier across the remaining calls.

  3. 3

    Prepare access inputs

    Decide whether the VM should receive raw sshPublicKeys in the creation request or attach existing project-level sshKeyIds.

  4. 4

    Create the VM

    Submit a VM request with image, tariff, name, and access data. Optionally declare public IP behavior and private network attachments in the same request.

  5. 5

    Poll or fetch the VM resource

    VM creation returns a command identifier. Fetch the VM resource afterward to confirm its current state, network interfaces, and follow-up operations.

Expected result

After the sequence completes, you should have a project identifier, a VM identifier, and a known set of attached access inputs such as SSH keys and network references.

Common issues

Use identifiers from the live API responses, not copied values from examples. Most provisioning failures on first integration come from stale projectId, imageId, or tariffId values, or from omitting the API key header entirely.