UpCloud is a cloud hosting platform used to run virtual servers. UpCloud provides:

  • easy creation and hosting of virtual server instances
  • management of hosting resources such as servers, storages and IP addresses efficiently
  • quickly upscaling and downscaling servers
  • migrating servers to different geographical locations
  • a private network for communication between servers
  • firewall services

The billing of resources is done by the hour on a utility basis.

This document describes the Application Programming Interface (API) to UpCloud. It gives information on how to use the API to build applications to control resources such as servers and storages on UpCloud. API client applications can be used to automate regular tasks on the cloud such as creating new servers and to abstract the end user from the cloud service.

This technical document is intended for developers building applications using the UpCloud API. Basic knowledge in programming is required to use the API. The API is independent from any programming language.

Version history

API version Date Note
1.0.0 Apr 27, 2012 First version of this document.
1.0.1 Jul 9, 2012 Added the error code CDROM_EJECT_FAILED to the Eject CD-ROM operation.
1.0.2 Oct 3, 2012 Added the new storage resource backup features.
1.0.3, 1.1.1 Aug 7, 2013 Added the Modify IP address operation for modifying PTR records. Storages are divided into two tiers: hdd and ssd. Modified server operations to support the new VNC connection method.
1.2.0 Mar 30, 2015 Storage tier maxiops added (replacing ssd). Added the family attribute to IP address and Firewall rule operations to support IPv6. Several other minor updates.
1.2.1 Apr 29, 2015 Server attribute host added for server details and avoid_host for more control on what host machine VMs should or should not reside on.
1.2.2 Jul 20, 2015 Server attribute plan added for new pricing options. Also new attributes in storage output. Support for server tags.
1.2.3 Apr 28, 2016 Server creation attributes login_user and user_data added.
1.2.4 Jul 4, 2016 Firewall rule attribute comment added.
1.2.5 Jun 20, 2017 Server attributes plan_ipv4_bytes and plan_ipv6_bytesadded for server details. New storage operation cancel added.
1.2.6 Jan 2, 2018 Server operation cancellation added. reject removed from accepted firewall rule actions. SERVER_CREATING_LIMIT_REACHED error code added. Numerous minor and editorial corrections and clarifications.
1.2.7 Mar 1, 2018 Flag for setting storages as boot disks and TOO_MANY_BOOT_DISKS error code added. Clarified use and syntax of storage device addresses. Updated examples to use current plan names and resource amounts. Various other minor and editorial corrections and clarifications.
1.2.8 Mar 1, 2019 Storages can now be removed during server deletion by adding ?storages=1 to the end of server deletion URI. The platform may rate-limit non-virtio network devices. Other smaller fixes and clarifications.

Changes from version 1.1

List of incompatible changes from version 1.1

  • IP address and Firewall Rule operations now require family attribute.
  • Customers can now configure servers to avoid certain hosts for added redundancy of environments.