Zudoku
Unikraft Cloud Platform API

Instances

Server

An instance is a micro vm running an application.


List Instances

GET
https://api.sfo.unikraft.cloud
/v1/instances

Get one or many instances with their current status and configuration.

List Instances › query Parameters

uuid
​string[]

The UUID of the resource.

name
​string[]

The name of the resource.

details
​boolean
count
​integer · uint32
from
​string
order
​Common.PaginationOrder · enum

The sort order used by list endpoints.

Enum values:
asc
desc
sortby
​Common.PaginationSortBy · enum

The sort field used by list endpoints.

Enum values:
create_time
tags
​string[]

List Instances › Request Body optional

An identifier for a resource — either a name or a UUID, but not both.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: uuid
type = object · requires: name
Properties for Variant 1:
uuid
​string · uuid · required

The UUID of the resource.

name
​string

The name of the resource.

List Instances › Responses

200

The request has succeeded.

The response message for getting one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Create Instance

POST
https://api.sfo.unikraft.cloud
/v1/instances

Create an instance in Unikraft Cloud.

Create Instance › Request Body

The request message for creating a new instance.
name
​string

The name of the resource. If not provided, a random name is generated. The name must be unique within the context of your account.

node
​string

The name of the node to place the resource on. If not provided, the platform picks one. Only accepted on metros that span multiple nodes.

​

The image to use for the instance.

Either an image or a template must be specified. Accepts either a plain image reference string ("nginx:latest") or an object carrying additional pull configuration ({"url": "nginx:latest", "pull_policy": "always"}).

args
​string[]

The arguments to pass to the instance when it starts.

​object

Environment variables to set for the instance.

Example: {"ENV_VAR1":"value1","ENV_VAR2":"value2"}
memory_mb
​integer · int64

Memory in MB to allocate for the instance. Default is 128.

Example: 256
min_memory_mb
​integer · int64

Lower bound in MB for memory vertical scaling. Setting this or max_memory_mb enables memory vertical scaling, which is only supported by microVM instances. The instance boots with this amount of memory, and memory_mb selects the initial allocation within the bounds, defaulting to min_memory_mb. Must be lower than max_memory_mb, and within the user's memory limits. Cannot be used with templates that have a snapshot, branch_from or checkpoint.

Example: 256
max_memory_mb
​integer · int64

Upper bound in MB for memory vertical scaling. Setting this or min_memory_mb enables memory vertical scaling. Defaults to the user's maximum memory limit. Must be higher than min_memory_mb by at least the platform's memory block size. Cannot be used with templates that have a snapshot, branch_from or checkpoint.

Example: 1024
​object

The service group configuration when creating an instance.

When creating an instance, either a previously created (persistent) service group can be referenced (either through its name or UUID), or a new (ephemeral) service group can be created for the instance by specifying the list of services it should expose and optionally the domains it should use. Not used by template instances.

Volumes to attach to the instance.

This list can contain both existing and new volumes to create as part of the instance creation. Existing volumes can be referenced by their name or UUID. New volumes can be created by specifying a name, size in MiB, and mount point in the instance. The mount point is the directory in the instance where the volume will be mounted.

autostart
​boolean

Whether the instance should start automatically on creation. Must be set to true when timeout_s is specified.

Example: true
replicas
​integer · int64

Number of additional replicas to create. The total number of instances created is replicas + 1. Defaults to 0.

Example: 5
restart_policy
​string · enum

Restart policy for the instance. This defines how the instance should behave when it stops or crashes. Cannot be combined with the delete-on-stop feature.

Enum values:
never
always
on-failure
​object

Scale-to-zero configuration for the instance. Requires service_group to be set. Cannot be combined with the delete-on-stop feature.

vcpus
​integer · int32

Number of vCPUs to allocate for the instance. Defaults to 1.

Example: 1
min_vcpus
​integer · int32

Lower bound for vCPU vertical scaling. Setting this or max_vcpus enables vCPU vertical scaling, which is only supported by microVM instances. The instance boots with this number of vCPUs, and vcpus selects the initial allocation within the bounds, defaulting to min_vcpus. Must be lower than max_vcpus, and within the user's vCPU limits. Cannot be used with templates that have a snapshot, branch_from or checkpoint.

Example: 1
max_vcpus
​integer · int32

Upper bound for vCPU vertical scaling. Setting this or min_vcpus enables vCPU vertical scaling. Defaults to the user's maximum vCPU limit. Must be higher than min_vcpus. Cannot be used with templates that have a snapshot, branch_from or checkpoint.

Example: 4

Features to enable for the instance. Features are specific configurations or capabilities that can be enabled for the instance. The scale-to-zero and delete-on-stop features are mutually exclusive.

Enum values:
delete-on-stop
nested-virt
timeout_s
​integer · int64

Timeout in seconds to wait for all new instances to reach running state. Requires autostart to be set. If you autostart your new instance, you can wait for it to finish starting with a blocking API call if you specify a wait timeout greater than zero. No wait performed for a value of 0.

Example: 2

Read-Only Memory (ROM) blobs to attach to the instance. Unikraft Cloud supports the ability to attach Read-Only Memory (ROM) blobs to instances. It allows you to create a general-purpose base image and then customize individual instances by attaching code or data as separate ROM blobs.

Plugins to attach to the instance. Plugins let you attach small helper programs to an instance and reach each one over a direct, authenticated HTTP endpoint. Each plugin loads from its own ROM image, mounts at /uk/plugins/<plugin_name>, and is reachable at .../v1/instances/<uuid>/plugins/<plugin_name>/<path>. At most 8 plugins may be attached to an instance.

tags
​string[]

Tags to associate with the instance.

​object

Annotations to associate with the instance.

Unlike tags, annotations also reach the guest: they are included in the instance's startdata, and selected keys can be injected into the console log output.

Keys follow the Kubernetes annotation key syntax, [<prefix>/]<name>: the optional prefix is a non-wildcard DNS subdomain of at most 253 characters, and the name is at most 63 characters of [-_.a-zA-Z0-9] starting and ending with an alphanumeric. Values are unconstrained apart from ASCII control characters. An instance holds at most 256 annotations.

When the instance inherits annotations from a template, branch, or checkpoint, the given annotations are merged into them rather than replacing them. On a key clash the value given here wins.

Example: {"my-key":"value1","example.com/annotation2":"value2"}
​object

Template instances. An existing instance can be saved as a template. This template is then used to create new instances that inherit the exact configuration and state the original instance had when the template was created.

sched_priority
​string · enum

The scheduling priority for the instance. Only settable by users with scheduling priority override permissions.

Enum values:
normal
medium
high
admin
Example: high

Schedules for the instance. Scheduled operations let you automatically start, stop, delete, or exec a command in the instance on a calendar- based schedule. For exec schedules, set the args field to the command and its arguments. Each instance stores its own schedules, and cloning preserves them.

​object

Automatic delete-on-idle/request-limit configuration. Not used for template instances.

hostname
​string

The hostname of the instance.

If not provided, the hostname will be set to the instance name. The hostname must be a valid DNS label (e.g., "my-instance") and is used for internal DNS resolution within the Unikraft Cloud network.

Example: my-instance
​Common.NameOrUUID[]

Dependencies of the instance.

A list of instance identifiers (name or UUID) that this instance depends on. Dependencies define startup ordering and can be used to ensure that prerequisite instances are running before this instance starts.

​object

Reference to an existing instance to branch from. The instance can be running or stopped. If the source instance is running, a snapshot will be taken asynchronously and the new instance will wait for it to complete before starting. Mutually exclusive with image and template.

​object

Reference to an existing checkpoint to create the instance from. The checkpoint must be in the checkpoint state. The new instance will be created with the same configuration and state as the checkpoint. Mutually exclusive with image, template, and branch_from.

gateway
​string

The default gateway to configure inside the guest.

Example: 10.0.0.1
nameserver
​string

The DNS resolver to configure inside the guest.

Example: 8.8.8.8

Network interfaces to attach to the instance.

type
​string · enum

The type of virtual machine to use for the instance. Defaults to micro, which runs on Firecracker. full runs on QEMU instead and is required for GPU passthrough (see gpus) and, in the future, Windows VMs. QEMU- backed instances currently do not support scale-to-zero, templates, branching, or checkpointing, and only support block-based volumes (no virtiofs). Requires a plan with full VM support and cannot be combined with template, branch_from, or checkpoint.

Enum values:
micro
full
Example: full
gpus
​integer · int32 · min: 0 · max: 1

Number of GPUs to attach to the instance. Currently restricted to at most

  1. Requires type to be full and a plan with GPU support. A GPU stays assigned to the instance, even while stopped, until the instance is deleted. Cannot be combined with template, branch_from, or checkpoint.
Example: 1

Create Instance › Responses

200

The request has succeeded.

The response message for creating a new instance.
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Update Instances

PATCH
https://api.sfo.unikraft.cloud
/v1/instances

Update instances by ID(s).

Update Instances › Request Body

A single update operation to be applied to an instance.
prop
​string · enum · required

The property to modify.

Enum values:
image
args
env
memory_mb
vcpus
scale_to_zero
tags
delete_lock
op
​string · enum · required

The operation to perform on the property.

Enum values:
set
add
del
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

id
​string

A client-provided identifier for tracking this operation in the response.

Example: op-1
value
​

The value for the update operation. The type depends on the property and operation:

  • For "image": image reference string, or object with image url, credentials, headers and pull policy
  • For "args": string or array of strings
  • For "env": object (for SET/ADD) or string/array of strings (for DEL)
  • For "memory_mb": integer
  • For "vcpus": integer
  • For "scale_to_zero": object with cooldown_time_ms, policy, and stateful fields
  • For "tags": array of strings
  • For "delete_lock": boolean
  • For "schedules": array of schedule objects (with name, when, action, and optional args fields) for SET/ADD, or array of schedule names for DEL. Use action "exec" together with args to execute a command at the scheduled time.
  • For "autokill": object with time_ms and num_requests fields
  • For "hostname": string (valid DNS label)
  • For "roms": array of ROM objects (with name and image fields) for SET/ADD, or array of ROM names for DEL
  • For "plugins": array of plugin objects (with name, image, and optional config and authorization fields) for SET/ADD. The deprecated rom field is accepted in place of image.
  • For "dependencies": array of instance identifiers (name or UUID)
  • For "sched_priority": SchedPriority enum value ("normal", "medium", "high", "admin")
  • For "annotations": object (for SET/ADD) or string/array of strings (for DEL)

Update Instances › Responses

200

The request has succeeded.

The response message for updating one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Delete Instances

DELETE
https://api.sfo.unikraft.cloud
/v1/instances

Delete instances by ID(s).

Delete Instances › Request Body

The request item for deleting an instance by its UUID or name.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

timeout_s
​integer · int64

Timeout in seconds to wait for the instance to be deleted. No wait performed for a value of 0.

Example: 2
dont_retain
​boolean

Delete immediately without retention. If the instance is already being retained, this will force its deletion. Ignored if retention for instances is not configured.

Example: false

Delete Instances › Responses

200

The request has succeeded.

The response message for deleting one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


List Checkpoint Instances

GET
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints

Get one or more checkpoint instances by their UUID(s) or name(s).

List Checkpoint Instances › query Parameters

uuid
​string[]

The UUID of the resource.

name
​string[]

The name of the resource.

details
​boolean
count
​integer · uint32
from
​string
order
​Common.PaginationOrder · enum

The sort order used by list endpoints.

Enum values:
asc
desc
sortby
​Common.PaginationSortBy · enum

The sort field used by list endpoints.

Enum values:
create_time
tags
​string[]

List Checkpoint Instances › Request Body

An identifier for a resource — either a name or a UUID, but not both.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: uuid
type = object · requires: name
Properties for Variant 1:
uuid
​string · uuid · required

The UUID of the resource.

name
​string

The name of the resource.

List Checkpoint Instances › Responses

200

The request has succeeded.

The response message for getting one or more checkpoint instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Create Checkpoint Instances

POST
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints

Create a checkpoint from an existing instance. A checkpoint captures the state of an instance at a specific point in time. Checkpoints can be created from running, stopped, or standby instances.

Create Checkpoint Instances › Request Body

A single checkpoint creation request.
​object · required

The source instance to create a checkpoint from (by name or UUID).

name
​string

The name of the checkpoint. If not provided, a name will be generated.

Example: my-checkpoint
node
​string

The name of the node to place the checkpoint on. Must be the node of the source instance. Only accepted on metros that span multiple nodes.

timeout_s
​integer · int64

Timeout in seconds to wait for the checkpoint to be created. No wait performed for a value of 0.

Example: 10
tags
​string[]

Tags to associate with the checkpoint.

​object

Automatic delete-on-idle configuration for the new checkpoint.

Create Checkpoint Instances › Responses

200

The request has succeeded.

The response message for creating one or more checkpoint(s) from existing instance(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Update Checkpoint Instances

PATCH
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints

Update (modify) one or more checkpoint instances by ID(s) (name or UUID).

Update Checkpoint Instances › Request Body

A single update operation to be applied to a checkpoint instance.
prop
​string · enum · required

The property to modify.

Enum values:
tags
delete_lock
autokill
Example: tags
op
​string · enum · required

The operation to perform on the property.

Enum values:
set
add
del
Example: add
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

id
​string

A client-provided identifier for tracking this operation in the response.

Example: op-1
value
​

The value for the update operation. The type depends on the property and operation:

  • For "tags": array of strings
  • For "delete_lock": boolean
  • For "autokill": object with time_ms field

Update Checkpoint Instances › Responses

200

The request has succeeded.

The response message for updating one or more checkpoint instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Delete Checkpoint Instances

DELETE
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints

Delete the specified checkpoint instance(s) by ID(s) (name or UUID). After this call the IDs of the checkpoint instances are no longer valid.

Delete Checkpoint Instances › Request Body

An identifier for a resource — either a name or a UUID, but not both.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: uuid
type = object · requires: name
Properties for Variant 1:
uuid
​string · uuid · required

The UUID of the resource.

name
​string

The name of the resource.

Delete Checkpoint Instances › Responses

200

The request has succeeded.

The response message for deleting one or more checkpoint instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Checkpoint History

GET
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints/history

Get the checkpoint history of one or more checkpoint instances. Returns the ordered list of checkpoints in each checkpoint's history.

Get Checkpoint History › query Parameters

uuid
​string[]

The UUID of the resource.

name
​string[]

The name of the resource.

Get Checkpoint History › Request Body

An identifier for a resource — either a name or a UUID, but not both.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: uuid
type = object · requires: name
Properties for Variant 1:
uuid
​string · uuid · required

The UUID of the resource.

name
​string

The name of the resource.

Get Checkpoint History › Responses

200

The request has succeeded.

The response message for getting the checkpoint history of one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Checkpoint Instance by UUID

GET
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints/{uuid}

Get a single checkpoint instance by its UUID.

Get Checkpoint Instance by UUID › path Parameters

uuid
​string · uuid · required

Get Checkpoint Instance by UUID › query Parameters

details
​boolean

Get Checkpoint Instance by UUID › Responses

200

The request has succeeded.

The response message for getting one or more checkpoint instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Update Checkpoint Instance by UUID

PATCH
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints/{uuid}

Update (modify) a checkpoint instance by its UUID.

Update Checkpoint Instance by UUID › path Parameters

uuid
​string · uuid · required

Update Checkpoint Instance by UUID › Request Body

Request body for updating a single checkpoint instance by UUID.
prop
​string · enum · required

The property to modify.

Enum values:
tags
delete_lock
autokill
Example: tags
op
​string · enum · required

The operation to perform on the property.

Enum values:
set
add
del
Example: add
id
​string

A client-provided identifier for tracking this operation in the response.

Example: op-1
value
​

The value for the update operation. The type depends on the property and operation:

  • For "tags": array of strings
  • For "delete_lock": boolean
  • For "autokill": object with time_ms field

Update Checkpoint Instance by UUID › Responses

200

The request has succeeded.

The response message for updating one or more checkpoint instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Delete Checkpoint Instance by UUID

DELETE
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints/{uuid}

Delete a specified checkpoint instance by its UUID. After this call the UUID of the checkpoint instance is no longer valid.

Delete Checkpoint Instance by UUID › path Parameters

uuid
​string · uuid · required

Delete Checkpoint Instance by UUID › Responses

200

The request has succeeded.

The response message for deleting one or more checkpoint instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Checkpoint History by UUID

GET
https://api.sfo.unikraft.cloud
/v1/instances/checkpoints/{uuid}/history

Get the checkpoint history of a checkpoint instance by its UUID. Returns the ordered list of checkpoints in the checkpoint's history.

Get Checkpoint History by UUID › path Parameters

uuid
​string · uuid · required

Get Checkpoint History by UUID › Responses

200

The request has succeeded.

The response message for getting the checkpoint history of one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Instances Checkpoint History

GET
https://api.sfo.unikraft.cloud
/v1/instances/history

Get the checkpoint history of one or more instances. Returns the ordered list of checkpoints associated with each instance.

Get Instances Checkpoint History › query Parameters

uuid
​string[]

The UUID of the resource.

name
​string[]

The name of the resource.

Get Instances Checkpoint History › Request Body

An identifier for a resource — either a name or a UUID, but not both.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: uuid
type = object · requires: name
Properties for Variant 1:
uuid
​string · uuid · required

The UUID of the resource.

name
​string

The name of the resource.

Get Instances Checkpoint History › Responses

200

The request has succeeded.

The response message for getting the checkpoint history of one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Instances Logs

GET
https://api.sfo.unikraft.cloud
/v1/instances/log

Get instances logs.

Get Instances Logs › query Parameters

uuid
​string[]

The UUID of the resource.

name
​string[]

The name of the resource.

offset
​integer[]

The byte offset of the log output to receive. A negative sign makes the offset relative to the end of the log.

limit
​integer[]

The amount of bytes to return at most.

Get Instances Logs › Request Body

A single request item to get an instance's logs.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

offset
​integer · int64

The byte offset of the log output to receive. A negative sign makes the offset relative to the end of the log.

Example: 56000
limit
​integer · int64

The amount of bytes to return at most.

Example: 1500

Get Instances Logs › Responses

200

The request has succeeded.

The response message for getting the logs of one or more instance(s) by their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Instances Metrics

GET
https://api.sfo.unikraft.cloud
/v1/instances/metrics

Get instances metrics.

Get Instances Metrics › query Parameters

uuid
​string[]

The UUID of the resource.

name
​string[]

The name of the resource.

Get Instances Metrics › Request Body optional

An identifier for a resource — either a name or a UUID, but not both.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: uuid
type = object · requires: name
Properties for Variant 1:
uuid
​string · uuid · required

The UUID of the resource.

name
​string

The name of the resource.

Get Instances Metrics › Responses

200

The request has succeeded.

The response message for getting the metrics of one or more instance(s) by their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Start Instances

PUT
https://api.sfo.unikraft.cloud
/v1/instances/start

Start instances by ID(s).

Start Instances › Request Body

A single request item to start an instance.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

timeout_s
​integer · int64

Timeout in seconds to wait for the instance to reach running state. If you start your instance, you can wait for it to finish starting with a blocking API call if you specify a wait timeout greater than zero. No wait performed for a value of 0.

Example: 2

Start Instances › Responses

200

The request has succeeded.

The response message for starting one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Stop Instances

PUT
https://api.sfo.unikraft.cloud
/v1/instances/stop

Stop instances by ID(s).

Stop Instances › Request Body

A single request item to stop an instance.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

force
​boolean

Whether to immediately force stop the instance.

Example: true
drain_timeout_ms
​integer · uint64

Timeout for draining connections in milliseconds. No draining will occur if set to 0. The instance does not receive new connections in the draining phase. The instance is stopped when the last connection has been closed or the timeout expired. The maximum timeout may vary. Use -1 for the largest possible value. Ignored if force is set.

Note: This endpoint does not block. Use the wait endpoint for the instance to reach the stopped state.

Example: 550
quick
​boolean

Whether to perform a quick shutdown. This flag is overridden by force.

Example: false
ifstate
​string

Only stop the instance if it is in this state.

Example: running
dump
​boolean

If set, forces the VMM to shutdown immediately and generate a coredump. Can only be used in conjunction with force.

Example: false

Stop Instances › Responses

200

The request has succeeded.

The response message for stopping one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Suspend Instances

PUT
https://api.sfo.unikraft.cloud
/v1/instances/suspend

Suspend instances by ID(s).

Suspend Instances › Request Body

A single request item to suspend an instance.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

drain_timeout_ms
​integer · uint64

Timeout for draining connections in milliseconds. No draining will occur if set to 0. Use -1 for the largest possible value.

Example: 550

Suspend Instances › Responses

200

The request has succeeded.

The response message for suspending one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


List template instances

GET
https://api.sfo.unikraft.cloud
/v1/instances/templates

Get one or more template instances.

List template instances › query Parameters

uuid
​string[]

The UUID of the resource.

name
​string[]

The name of the resource.

details
​boolean
count
​integer · uint32
from
​string
order
​Common.PaginationOrder · enum

The sort order used by list endpoints.

Enum values:
asc
desc
sortby
​Common.PaginationSortBy · enum

The sort field used by list endpoints.

Enum values:
create_time
tags
​string[]

List template instances › Request Body optional

An identifier for a resource — either a name or a UUID, but not both.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: uuid
type = object · requires: name
Properties for Variant 1:
uuid
​string · uuid · required

The UUID of the resource.

name
​string

The name of the resource.

List template instances › Responses

200

The request has succeeded.

The response message for getting one or more template instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Create template instances from Instances

POST
https://api.sfo.unikraft.cloud
/v1/instances/templates

Convert instances to template instances.

Create template instances from Instances › Request Body

A single template instance to be created.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

timeout_s
​integer · int64

Timeout in seconds to wait for the template instances to be created. A value of -1 means to wait indefinitely until the instance reaches the desired state. No wait performed for a value of 0.

Example: 2
​object

Automatic delete-on-idle configuration for the new template.

Create template instances from Instances › Responses

200

The request has succeeded.

The response message for converting one or more instance(s) to templates.
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Update template instances

PATCH
https://api.sfo.unikraft.cloud
/v1/instances/templates

Update template instances by ID(s).

Update template instances › Request Body

A single template instance update request item.
prop
​string · enum · required

The property to modify.

Enum values:
tags
delete_lock
autokill
image
roms
plugins
op
​string · enum · required

The operation to perform.

Enum values:
set
add
del
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

id
​string

A client-provided identifier for tracking this operation in the response.

value
​

The value for the update operation. The type depends on the property and operation:

  • For "tags": array of strings
  • For "delete_lock": boolean
  • For "autokill": object with time_ms field
  • For "image": image reference string or object (SET only)
  • For "roms": array of ROM objects (SET only)
  • For "plugins": array of plugin objects (SET only)

Update template instances › Responses

200

The request has succeeded.

The response message for updating one or more template instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Delete template instances

DELETE
https://api.sfo.unikraft.cloud
/v1/instances/templates

Delete template instances by ID(s).

Delete template instances › Request Body

An identifier for a resource — either a name or a UUID, but not both.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: uuid
type = object · requires: name
Properties for Variant 1:
uuid
​string · uuid · required

The UUID of the resource.

name
​string

The name of the resource.

Delete template instances › Responses

200

The request has succeeded.

The response message for deleting one or more template instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get template instance by UUID

GET
https://api.sfo.unikraft.cloud
/v1/instances/templates/{uuid}

Get a single template instance by UUID.

Get template instance by UUID › path Parameters

uuid
​string · uuid · required

Get template instance by UUID › query Parameters

details
​boolean

Get template instance by UUID › Responses

200

The request has succeeded.

The response message for getting one or more template instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Update template instance by UUID

PATCH
https://api.sfo.unikraft.cloud
/v1/instances/templates/{uuid}

Update a template instance by UUID.

Update template instance by UUID › path Parameters

uuid
​string · uuid · required

Update template instance by UUID › Request Body

prop
​string · enum · required

The property to modify.

Enum values:
tags
delete_lock
autokill
image
roms
plugins
op
​string · enum · required

The operation to perform.

Enum values:
set
add
del
id
​string

A client-provided identifier for tracking this operation in the response.

value
​

The value for the update operation. The type depends on the property and operation:

  • For "tags": array of strings
  • For "delete_lock": boolean
  • For "autokill": object with time_ms field
  • For "image": image reference string or object (SET only)
  • For "roms": array of ROM objects (SET only)
  • For "plugins": array of plugin objects (SET only)

Update template instance by UUID › Responses

200

The request has succeeded.

The response message for updating one or more template instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Delete template instance by UUID

DELETE
https://api.sfo.unikraft.cloud
/v1/instances/templates/{uuid}

Delete a template instance by UUID.

Delete template instance by UUID › path Parameters

uuid
​string · uuid · required

Delete template instance by UUID › Responses

200

The request has succeeded.

The response message for deleting one or more template instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Wait for Instances States

GET
https://api.sfo.unikraft.cloud
/v1/instances/wait

Wait for instances to reach states.

Wait for Instances States › query Parameters

uuid
​string[]

The UUID of the resource.

name
​string[]

The name of the resource.

The desired state to wait for. Default is running.

Enum values:
stopped
starting
running
draining
stopping
template
standby
deleted
timeout_ms
​integer[]
timeout_s
​integer[]

Wait for Instances States › Request Body

A single request item to wait for an instance's state.
uuid
​string · uuid

The UUID of the resource.

name
​string

The name of the resource.

state
​string · enum

The desired state to wait for. Default is running.

Enum values:
stopped
starting
running
draining
stopping
template
standby
deleted
timeout_s
​integer · int64

Timeout in seconds to wait for the instance to reach the desired state. If the timeout is reached, the request will fail with an error. A value of -1 means to wait indefinitely until the instance reaches the desired state. No wait performed for a value of 0.

Example: 2

Wait for Instances States › Responses

200

The request has succeeded.

The response message for waiting for one or more instance(s) to reach a certain state given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Instance by UUID

GET
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}

Get a single instance by UUID.

Get Instance by UUID › path Parameters

uuid
​string · uuid · required

Get Instance by UUID › query Parameters

details
​boolean

Get Instance by UUID › Responses

200

The request has succeeded.

The response message for getting one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Update Instance by UUID

PATCH
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}

Update instance by UUID.

Update Instance by UUID › path Parameters

uuid
​string · uuid · required

Update Instance by UUID › Request Body

prop
​string · enum · required

The property to modify.

Enum values:
image
args
env
memory_mb
vcpus
scale_to_zero
tags
delete_lock
op
​string · enum · required

The operation to perform on the property.

Enum values:
set
add
del
id
​string

A client-provided identifier for tracking this operation in the response.

Example: op-1
value
​

The value for the update operation. The type depends on the property and operation:

  • For "image": image reference string, or object with image url, credentials, headers and pull policy
  • For "args": string or array of strings
  • For "env": object (for SET/ADD) or string/array of strings (for DEL)
  • For "memory_mb": integer
  • For "vcpus": integer
  • For "scale_to_zero": object with cooldown_time_ms, policy, and stateful fields
  • For "tags": array of strings
  • For "delete_lock": boolean
  • For "schedules": array of schedule objects (with name, when, action, and optional args fields) for SET/ADD, or array of schedule names for DEL. Use action "exec" together with args to execute a command at the scheduled time.
  • For "autokill": object with time_ms and num_requests fields
  • For "hostname": string (valid DNS label)
  • For "roms": array of ROM objects (with name and image fields) for SET/ADD, or array of ROM names for DEL
  • For "plugins": array of plugin objects (with name, image, and optional config and authorization fields) for SET/ADD. The deprecated rom field is accepted in place of image.
  • For "dependencies": array of instance identifiers (name or UUID)
  • For "sched_priority": SchedPriority enum value ("normal", "medium", "high", "admin")
  • For "annotations": object (for SET/ADD) or string/array of strings (for DEL)

Update Instance by UUID › Responses

200

The request has succeeded.

The response message for updating one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Delete Instance by UUID

DELETE
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}

Delete instance by UUID.

Delete Instance by UUID › path Parameters

uuid
​string · uuid · required

Delete Instance by UUID › Request Body optional

Parameters for deleting the instance by UUID.
timeout_s
​integer · int64

Timeout in seconds to wait for the instance to be deleted. No wait performed for a value of 0.

Example: 2
dont_retain
​boolean

Delete immediately without retention. If the instance is already being retained, this will force its deletion. Ignored if retention for instances is not configured.

Example: false

Delete Instance by UUID › Responses

200

The request has succeeded.

The response message for deleting one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Instance Checkpoint History by UUID

GET
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}/history

Get the checkpoint history of an instance by its UUID. Returns the ordered list of checkpoints associated with the instance.

Get Instance Checkpoint History by UUID › path Parameters

uuid
​string · uuid · required

Get Instance Checkpoint History by UUID › Responses

200

The request has succeeded.

The response message for getting the checkpoint history of one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Instance Logs by UUID

GET
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}/log

Get instance logs by UUID.

Get Instance Logs by UUID › path Parameters

uuid
​string · uuid · required

Get Instance Logs by UUID › Request Body

offset
​integer · int64

The byte offset of the log output to receive. A negative sign makes the offset relative to the end of the log.

Example: 56000
limit
​integer · int64

The amount of bytes to return at most.

Example: 1500

Get Instance Logs by UUID › Responses

200

The request has succeeded.

The response message for getting the logs of one or more instance(s) by their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Get Instance Metrics by UUID

GET
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}/metrics

Get instance metrics by UUID.

Get Instance Metrics by UUID › path Parameters

uuid
​string · uuid · required

Get Instance Metrics by UUID › Responses

200

The request has succeeded.

The response message for getting the metrics of one or more instance(s) by their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Start Instance by UUID

PUT
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}/start

Start instance by UUID.

Start Instance by UUID › path Parameters

uuid
​string · uuid · required

Start Instance by UUID › Request Body

Parameters for starting the instance.
timeout_s
​integer · int64

Timeout in seconds to wait for the instance to reach running state. If you start your instance, you can wait for it to finish starting with a blocking API call if you specify a wait timeout greater than zero. No wait performed for a value of 0.

Example: 2

Start Instance by UUID › Responses

200

The request has succeeded.

The response message for starting one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Stop Instance by UUID

PUT
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}/stop

Stop instance by UUID.

Stop Instance by UUID › path Parameters

uuid
​string · uuid · required

Stop Instance by UUID › Request Body

Parameters for stopping the instance.
force
​boolean

Whether to immediately force stop the instance.

Example: true
drain_timeout_ms
​integer · uint64

Timeout for draining connections in milliseconds. No draining will occur if set to 0. The instance does not receive new connections in the draining phase. The instance is stopped when the last connection has been closed or the timeout expired. The maximum timeout may vary. Use -1 for the largest possible value. Ignored if force is set.

Note: This endpoint does not block. Use the wait endpoint for the instance to reach the stopped state.

Example: 550
quick
​boolean

Whether to perform a quick shutdown. This flag is overridden by force.

Example: false
ifstate
​string

Only stop the instance if it is in this state.

Example: running
dump
​boolean

If set, forces the VMM to shutdown immediately and generate a coredump. Can only be used in conjunction with force.

Example: false

Stop Instance by UUID › Responses

200

The request has succeeded.

The response message for stopping one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Suspend Instance by UUID

PUT
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}/suspend

Suspend instance by UUID.

Suspend Instance by UUID › path Parameters

uuid
​string · uuid · required

Suspend Instance by UUID › Request Body

Parameters for suspending the instance.
drain_timeout_ms
​integer · uint64

Timeout for draining connections in milliseconds. No draining will occur if set to 0. Use -1 for the largest possible value.

Example: 550

Suspend Instance by UUID › Responses

200

The request has succeeded.

The response message for suspending one or more instance(s) given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.


Wait for Instance State by UUID

GET
https://api.sfo.unikraft.cloud
/v1/instances/{uuid}/wait

Wait for instance state by UUID.

Wait for Instance State by UUID › path Parameters

uuid
​string · uuid · required

Wait for Instance State by UUID › Request Body

Wait parameters.
state
​string · enum · required

The desired state to wait for. Default is running.

Enum values:
stopped
starting
running
draining
stopping
template
standby
deleted
timeout_s
​integer · int64

Timeout in seconds to wait for the instance to reach the desired state. If the timeout is reached, the request will fail with an error. A value of -1 means to wait indefinitely until the instance reaches the desired state. No wait performed for a value of 0.

Example: 2

Wait for Instance State by UUID › Responses

200

The request has succeeded.

The response message for waiting for one or more instance(s) to reach a certain state given their UUID(s) or name(s).
status
​string · enum · required

The status of the response.

Enum values:
success
error
partial_success
op_time_us
​integer · uint64 · required

The operation time in microseconds.

message
​string

An optional message providing additional information about the status.

​object

The response data for this request.

A list of errors which may have occurred during the request.