Skip to content

Create a runtime

POST
/v1/runtimes
curl --request POST \
--url http://127.0.0.1:8080/v1/runtimes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "checkpoint_id": "example", "egress_policy": { "allowed_hosts": [], "enabled": false }, "idle_suspend_after_secs": 1, "ingress_specs": [], "name": "example", "resources": { "requests": { "vcpus": 1, "memory_mib": 1024 }, "limits": { "memory_mib": 1024 } } }'

Runtime creation request.

Media type application/json

Runtime creation request.

object
checkpoint_id

Checkpoint UUID to restore from.

string
nullable
egress_policy

Initial egress policy.

object
allowed_hosts
required

Allowed host names or wildcard patterns.

Array<string>
<= 128 items
enabled
required

Whether egress interception is enabled.

boolean
idle_suspend_after_secs

Optional idle suspend timeout.

integer format: uint32
nullable >= 1 <= 2147483647
ingress_specs

Optional ingress specs.

Array<object>
default: <= 16 items

Public ingress forwarding rule.

object
protocol
required

Application-layer protocol.

string
Allowed values: http https
runtime_port
required

Port inside the runtime VM.

integer format: uint16
<= 65535
name

Human-readable runtime name.

string
nullable
resources

Runtime resource requests and limits.

object
limits

Resource limits.

object
memory_mib
required

Maximum memory in MiB.

integer format: uint64
>= 1
requests

Resource requests.

object
memory_mib

Requested baseline memory in MiB.

integer format: uint64
default: 1024 >= 1
vcpus

Requested virtual CPUs.

integer format: uint32
default: 1 >= 1 <= 2147483647

Response envelope.

Media type application/json

Response envelope.

object
data
required

Runtime response object.

object
display_name
required

User-chosen display name.

string
egress_policy
required

Egress policy.

object
allowed_hosts
required

Allowed host names or wildcard patterns.

Array<string>
<= 128 items
enabled
required

Whether egress interception is enabled.

boolean
id
required

Stable runtime UUID.

string
ingress_specs
required

Active ingress specs.

Array<object>

Public ingress forwarding rule.

object
protocol
required

Application-layer protocol.

string
Allowed values: http https
runtime_port
required

Port inside the runtime VM.

integer format: uint16
<= 65535
resources
required

Runtime resource state.

object
limits
required

Resource limits.

object
memory_mib
required

Maximum memory in MiB.

integer format: uint64
>= 1
requests
required

Resource requests.

object
memory_mib
required

Requested baseline memory in MiB.

integer format: uint64
>= 1
vcpus
required

Requested virtual CPUs.

integer format: uint32
>= 1 <= 2147483647
status
required

Runtime status.

string
Allowed values: running paused shutdown creating deleting error crashed suspended
Example
{
"data": {
"ingress_specs": [
{
"protocol": "http"
}
],
"status": "running"
}
}

Missing, malformed, or rejected bearer token

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}

The bearer token is not allowed to perform this action

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}

The requested resource was not found

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}

The request conflicts with current resource state

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}

Validation or application error

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}

Rate limit exceeded

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}

Upstream service is unavailable

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}

Upstream request timed out

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}

Error response

Media type application/json
object
error
required
object
code
required
string
Allowed values: already_exists command_failed deadline_exceeded failed_precondition internal invalid_argument not_found permission_denied rate_limited unauthenticated unavailable unimplemented
message
required
string
Example
{
"error": {
"code": "already_exists"
}
}