1. Introduction
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
- IPv4 and IPv6 public addresses, IPv4 floating IPs and IPv4 private addresses
- a utility network privately connecting all your servers around the globe
- private networks for communication between servers
- firewall services
The billing of resources is done by the hour on a usage 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.
Older versions
Documentation for older API version 1.2 (currently 1.2.8) can be found here.
Version history
API version | Date | Note |
---|---|---|
1.3.72 | Sep 03, 2024 | Added new Standard block storage tier |
1.3.71 | Aug 29, 2024 | Added create bucket documentation for Managed Object Storage. |
1.3.70 | Aug 22, 2024 | Added additional warning message in delete bucket for Managed Object Storage. |
1.3.69 | Aug 13, 2024 | Added custom domains support for Managed Object Storage |
1.3.68 | Aug 6, 2024 | New LB rule matchers: http_status , request_header , response_header . Matchers boolean operator can be selected with matching_condition field. |
1.3.67 | Aug 5, 2024 | Added docs for bucket deletion. |
1.3.66 | Jul 30, 2024 | Remove Audit Logs "current_state" and "previous_state". A new separate endpoint will be provided. |
1.3.65 | Jul 1, 2024 | Server creation now defaults storage tier to plan config. |
1.3.64 | May 29, 2024 | Add labels support for Managed Databases. |
1.3.63 | May 16, 2024 | Add Audit Logs documentation. |
1.3.62 | May 10, 2024 | Temporarily removed Modify Policy endpoint. |
1.3.61 | Apr 26, 2024 | Added IAM Groups documentation. |
1.3.60 | Apr 26, 2024 | Added IAM Policy Version documentation. |
1.3.59 | Mar 28, 2024 | Add Network Peering documentation. |
1.3.58 | Mar 20, 2024 | Add Managed Databases alerts support on account and service level. |
1.3.57 | Mar 14, 2024 | Limit remote_access_password length to the maximum length allowed by VNC protocol instead of silently clipping. |
1.3.56 | Mar 11, 2024 | Removed SPICE support |
1.3.55 | Feb 28, 2024 | Add SDN support for Managed Databases. |
1.3.54 | Feb 28, 2024 | The version contains Managed Object Storage API breaking changes. The users field is not allowed in service payload for POST/PUT/PATCH requests. Also added new policies endpoint. |
1.3.53 | Jan 18, 2024 | Reflect Managed Object Storage /metrics/buckets to /buckets endpoint path change. |
1.3.52 | Dec 21, 2023 | Added section describing available IP subnets in Private virtual LANs. |
1.3.51 | Dec 19, 2023 | Update Managed Object Storage users documentation, changed name field to be required and uniq within customer account. |
1.3.50 | Dec 05, 2023 | Update Managed Object Storage users documentation, added optional name field. |
1.3.49 | Nov 24, 2023 | Update Managed Object Storage list services documentation, added sort at created_at column. |
1.3.48 | Nov 23, 2023 | Update Managed Object Storage users documentation, change example username to valid. |
1.3.47 | Nov 22, 2023 | Added Managed Object Storage service metrics series endpoint. |
1.3.46 | Nov 15, 2023 | Added Managed Kubernetes zone se-sto1 . |
1.3.45 | Nov 13, 2023 | Updated permission documentation to include Managed Object Storage. |
1.3.44 | Sep 27, 2023 | Added OpenSearch Security management support. |
1.3.43 | Sep 18, 2023 | Managed Object Storage API documentation added. |
1.3.42 | Sep 18, 2023 | Added filter query parameters supported by List certificate bundles endpoint and label query param to List services endpoint. |
1.3.41 | Sep 12, 2023 | Change minimum port to 1 for Load Balancer frontend. |
1.3.40 | Sep 12, 2023 | Added Managed Load Balancer HTTP/2 support. |
1.3.39 | Sep 12, 2023 | Added Managed Kubernetes control plane IP filtering support. |
1.3.38 | Sep 8, 2023 | Add OpenSearch Managed Database documentation. |
1.3.37 | Sep 4, 2023 | Change number of networks required for service creation. |
1.3.36 | Jul 27, 2023 | Added Managed Load Balancer Backend TLS support. |
1.3.35 | Jul 14, 2023 | Added Kubernetes private node groups and node group specific utility network access. |
1.3.34 | Jul 12, 2023 | Added new backend property shutdown-sessions in uplb |
1.3.33 | Jul 6, 2023 | Added Managed Kubernetes zones nl-ams1 , sg-sin1 , uk-lon1 & us-chi1 |
1.3.32 | Jun 26, 2023 | Added load_balancers field to account resource_limits . |
1.3.31 | Jun 07, 2023 | Updated Managed Load Balancer health check url description |
1.3.30 | May 22, 2023 | Added Managed Load Balancer headers actions. |
1.3.29 | Apr 26, 2023 | Added Managed Load Balancer maintenance window. |
1.3.28 | Mar 15, 2023 | Add Managed Kubernetes beta. |
1.3.27 | Feb 28, 2023 | Deprecate Managed Database connections endpoint and add the new sessions endpoint. |
1.3.26 | Feb 13, 2023 | Support Labels in storages. |
1.3.25 | Jan 16, 2023 | Support Labels in Managed Loadbalancers, support JSON Merge Patch semantics for Managed Loadbalancers. |
1.3.24 | Jan 10, 2023 | Labels implementation across different resources (servers, server groups, networks, routers, accounts), amount of attached storage devices raised from 8 to 16. |
1.3.23 | Jan 4, 2023 | Add Redis Managed Database documentation. |
1.3.22 | Jan 1, 2023 | Added daily simple backup option. |
1.3.21 | Dec 19, 2022 | Update Minimum size of storage from 10GB to 1GB. |
1.3.20 | Nov 17, 2022 | Update Managed Database service task endpoint and added external migration notice. |
1.3.19 | Oct 27, 2022 | Added server interface ip address endpoint and dhcp_provided field to ip address structure. |
1.3.18 | Oct 7, 2022 | Managed Database service task and migration status endpoint added. |
1.3.17 | Oct 4, 2022 | Added Managed Load Balancer multiple networks support. |
1.3.16 | Sep 12, 2022 | Added Managed Load Balancer matcher inverse flag. |
1.3.15 | Aug 30, 2022 | Managed Database maintenance updates endpoint added. |
1.3.14 | Jul 6, 2022 | Managed Load Balancer metrics endpoint added. |
1.3.13 | Jul 5, 2022 | Permissions added. |
1.3.12 | Feb 11, 2022 | Managed Load Balancer API documentation added. |
1.3.11 | Jan 27, 2022 | Managed Database API documentation added. |
1.3.10 | Apr 26, 2021 | More flexible storage attach/detach options. |
1.3.9 | Apr 19, 2021 | Backup deletion parameters when deleting servers or storages added. |
1.3.8 | Jan 13, 2021 | Support selectable ip addresses in ip addresses and networks API endpoints. |
1.3.7 | Nov 16, 2020 | Account network transfer usage API added, storage tier added to server responses. |
1.3.6 | Oct 22, 2020 | Object Storage API added. Servers can be started asynchronously. |
1.3.5 | Aug 7, 2020 | Editorial changes, minor error corrections. |
1.3.4 | Apr 3, 2020 | Subaccount management API added. |
1.3.3 | Mar 30, 2020 | Metadata service for servers added. |
1.3.2 | Mar 12, 2020 | Simple backup feature added. |
1.3.1 | Jan 23, 2020 | The accounts endpoint now includes resource limits in effect for the calling account. Network boot feature added. |
1.3.0 | Oct 15, 2019 | New software-defined networking stack is now available, allowing custom networks with different features. These can be found from the Networks section, with new features such as API-controlled floating IPs. Private cloud server and host APIs have been introduced. Additionally, server remote access has been revamped, allowing for SPICE connections in addition to older VNC ones. |
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. |
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.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.5 | Jun 20, 2017 | Server attributes plan_ipv4_bytes and plan_ipv6_bytes added for server details. New storage operation cancel added. |
1.2.4 | Jul 4, 2016 | Firewall rule attribute comment added. |
1.2.3 | Apr 28, 2016 | Server creation attributes login_user and user_data added. |
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.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.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.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.0.2 | Oct 3, 2012 | Added the new storage resource backup features. |
1.0.1 | Jul 9, 2012 | Added the error code CDROM_EJECT_FAILED to the Eject CD-ROM operation. |
1.0.0 | Apr 27, 2012 | First version of this document. |
Changes from version 1.2
List of incompatible changes from version 1.2
- VNC attributes in server creation, modification and viewing have been replaced by remote access attributes. See 8. Servers for more details.
- The
private
IP address type now refers to the new SDN enabled private networks. The previous semantics of theprivate
address type are now referred to asutility
.
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.