TypeScript models

Generated from eve-iac OpenAPI/semantics. Do not edit manually.

Every public OpenAPI component schema plus generated query types.

Model Kind
LooseObject object
ValidateData object
ValidationError object
BulkResult object
ExportConfigRequest allOf
ExportConfigNode object
ExportConfigData object
LinkImpairment object
PublicLinkEndpoint object
PublicLinkMatch object
LinkQualityData object
LinkSuspendTarget object
LinkSuspendData object
CaptureData object
TrafficAttachData object
SuccessEnvelope object
ErrorEnvelope object
LoginRequest object
LogoutRequest object
ProjectPayload object
AuthoringPayload object
ConsoleWriteMode enum
ConsolePayload object
ConsoleRunStep object
ConsoleTarget object
HealthData object
LoginData object
StatusOkData object
SessionData object
CapabilitiesData object
ProjectModeCaps object
LifecycleCaps object
Template object
TemplateDetail object
TemplateImage object
TemplateAttribute object
TemplatesData object
DeviceFamily enum
TemplateFamily object
TemplateCatalogData object
TemplateImagesData object
TemplateAttributesData object
NetworkType object
NetworkTypesData object
NetworkAuthoring object
Icon object
IconsData object
AuthoringRevisionData object
AuthoringSnapshotData object
ClusterMember object
FolderEntry object
FoldersData object
Iface object
InterfacesData object
ImportData object
DeployData object
PlanSummary object
PlanAction object
PlanData object
ReconcileStep object
ReconcileData object
DestroyData object
ProjectStatusData object
ProjectLiveStatus object
RuntimeNode object
InspectionData object
AppliedNetem object
AppliedNetemIface object
InspectIface object
InspectNode object
PublicData object
SchemaRequest object
SchemaData object
EditRequest allOf
EditOperation object
EditChanged object
EditResult object
ConfigReadRequest allOf
ConfigIndexEntry object
ConfigSearchMatch object
ConfigSearchNode object
ConfigData object
ConfigEditRequest allOf
ConfigEditOp object
ConfigChanged object
ConfigEditData object
OpenData object
ConsoleRecord object
ConsolesData object
ConsoleExecData object
ConsoleExecManyData object
ConsoleAttachData object
OobNode object
OobStatusData object
OobCredentialsData object
OobOpenData object
ConsoleSessionData object
ConsoleSessionListData object
ConsoleHistoryData object
ConsoleWaitData object
ConsoleRunStepResult object
ConsoleRunData object
ListTemplatesQuery object
ListFoldersQuery object
GetPublicSchemaRequest ref
CompleteLinkInterfacesRequest ref
PreviewInterfacesRequest ref
ValidateProjectRequest ref
ImportProjectRequest object
DeployProjectRequest ref
PlanProjectRequest ref
ReconcileProjectRequest ref
DestroyProjectRequest ref
GetProjectStatusRequest ref
InspectProjectRequest ref
GetPublicProjectRequest ref
EditProjectRequest ref
GetProjectConfigRequest ref
EditProjectConfigRequest ref
OpenProjectRequest ref
ListProjectConsolesRequest ref
ExecProjectRequest object
ExportProjectConfigRequest ref
ApplyLinkQualityRequest object
SetLinkSuspendRequest object
StartCaptureRequest object
AttachTrafficRequest ref
ExecConsoleRequest ref
ExecConsoleManyRequest ref
AttachConsoleRequest ref
CreateConsoleSessionRequest ref
ListConsoleSessionsRequest ref
GetConsoleSessionRequest ref
CloseConsoleSessionRequest ref
GetConsoleHistoryRequest ref
WaitConsoleRequest ref
RunConsoleRequest ref
StartOobRequest ref
GetOobStatusRequest ref
GetOobCredentialsRequest ref
StopOobRequest ref
OpenOobRequest ref

Direction is "to_eve" | "from_eve". ProjectPayload.direction on the wire is still a free string.

LooseObject

Type: Record<string, unknown>

ValidateData

Global structured validation of the complete topology. HTTP 200 with valid=false is a successful validate call that found errors. Do not parse message; use path and code.

Field TypeScript type Required Semantics
valid boolean yes
errors Array<ValidationError> yes

Used by: validateProject

ValidationError

One machine-repairable topology error. Path uses dotted public-model notation (nodes.core_r1.attributes.cpu, links[3].endpoints[1].interface). Never mixed with JSON Pointer.

Field TypeScript type Required Semantics
path string yes
code string yes
value unknown no
expected Record no
message string no

BulkResult

Field TypeScript type Required Semantics
requested number yes
started number yes
already_running number yes
already_starting number yes
stopped number yes
already_stopped number yes
wiped number yes
failed number yes
invalid number yes

Used by: execProject

ExportConfigRequest

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string yes exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

Used by: exportProjectConfig

ExportConfigNode

One node. status is exported, skipped, or failed. selector_restore_failed is set when the temporary config selector could not be put back. Both can be present.

Field TypeScript type Required Semantics
key string no IaC node key when the node is mapped.
id number no Native EVE node id.
status "exported" "skipped" "failed"
code string no EVE message id such as 80084 or 80061, or unknown_node.
selector_restore_failed boolean no

ExportConfigData

Per-node export into one existing startup-config set. Does not change topology.yml or configs/**. A failed node does not undo nodes already exported.

Field TypeScript type Required Semantics
lab string yes
configset string yes
nodes Array<ExportConfigNode> yes

Used by: exportProjectConfig

LinkImpairment

One direction of ethernet NETEM. Omitted object or omitted fields are EVE zeros (no delay/loss/jitter, unlimited bandwidth). Sending applyLinkQuality with omitted impairments clears live NETEM on that side. Not presentation.

Field TypeScript type Required Semantics
delay number no
jitter number no
loss number no
bandwidth number no

Used by: applyLinkQuality

PublicLinkEndpoint

Public YAML identity. {node, interface} or {network}. Never native EVE numeric ids.

Field TypeScript type Required Semantics
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
interface string no
network string no

PublicLinkMatch

Live link identity in public YAML shape. endpoints[0] is source for source_impairment and side=source even when CanonicalLink sorts. vlan omitted/0/1 is the untagged default.

Field TypeScript type Required Semantics
endpoints Array<PublicLinkEndpoint> yes
vlan number no

Used by: applyLinkQuality, setLinkSuspend

LinkQualityData

Interaction apply result. persisted is true only when save was true. topology.yml is never written. EVE writes the UNL only for an admin session on an unlocked lab.

Field TypeScript type Required Semantics
applied boolean yes
persisted boolean yes
match PublicLinkMatch no

Used by: applyLinkQuality

LinkSuspendTarget

Field TypeScript type Required Semantics
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
interface string no

LinkSuspendData

Runtime TAP suspend/resume. Never a topology.yml field.

Field TypeScript type Required Semantics
applied boolean yes
suspended boolean yes
side string no
match PublicLinkMatch no
targets Array<LinkSuspendTarget> no

Used by: setLinkSuspend

CaptureData

HTML5 Guacamole URL on the agent origin. evecapture:// is never returned.

Field TypeScript type Required Semantics
node string yes omitted: all nodes. empty string: all nodes. named: that IaC node key
interface string yes
url string yes

Used by: startCapture

TrafficAttachData

One-time eve-traffic upgrade. stream is /api/v1/projects/traffic/stream/{ticket}.

Field TypeScript type Required Semantics
stream string yes
transport string yes

Used by: attachTraffic

SuccessEnvelope

Field TypeScript type Required Semantics
ok boolean yes
data unknown no
error string no
code string no

ErrorEnvelope

Field TypeScript type Required Semantics
ok boolean yes
error string no
code string no
data unknown no

LoginRequest

Field TypeScript type Required Semantics
username string yes
password string yes

Used by: login

LogoutRequest

Type: Record<string, unknown>

Used by: logout

ProjectPayload

decodeProject body. Unknown fields are ignored. dir/out non-empty are rejected. Do not treat omitted optional fields as serialized defaults.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

Used by: validateProject, importProject, deployProject, planProject, reconcileProject, destroyProject, getProjectStatus, inspectProject, getPublicProject, openProject, listProjectConsoles, execProject, applyLinkQuality, setLinkSuspend, startCapture, attachTraffic, startOob, getOobStatus, getOobCredentials, stopOob, openOob

AuthoringPayload

Field TypeScript type Required Semantics
dir string no Rejected when non-empty.
yaml string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
template string no
attributes Record no
excludeUsed boolean no
eth_format string no

Used by: completeLinkInterfaces, previewInterfaces

ConsoleWriteMode

observe: read-only (agent rejects writes). interact: multiple writers. exclusive: single writer owner; no steal in v1.

Enum values: observe, interact, exclusive

ConsolePayload

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

Used by: execConsole, execConsoleMany, attachConsole, createConsoleSession, listConsoleSessions, getConsoleSession, closeConsoleSession, getConsoleHistory, waitConsole, runConsole

ConsoleRunStep

Field TypeScript type Required Semantics
expect string no
send string no Omit property for no send. Present empty string for RETURN.
send_secret string no Secret send; never returned in responses or samples.
timeout_ms number no

ConsoleTarget

Field TypeScript type Required Semantics
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no

HealthData

Field TypeScript type Required Semantics
status string no
tls boolean no
version string no

Used by: getHealth

LoginData

Field TypeScript type Required Semantics
token string no
username string no

Used by: login

StatusOkData

Field TypeScript type Required Semantics
status string no

Used by: logout

SessionData

Field TypeScript type Required Semantics
username string no

Used by: getSession

CapabilitiesData

Field TypeScript type Required Semantics
eveReachable boolean no
eveBaseUrl string no
features Record no
projectModes RecordProjectModeCaps> no

Used by: getCapabilities

ProjectModeCaps

Field TypeScript type Required Semantics
inspect boolean no
open boolean no
console boolean no
lifecycle LifecycleCaps no
topology_mutation boolean no
reconcile boolean no
destroy boolean no
presentation_restore boolean no
source_mutation boolean no

LifecycleCaps

Field TypeScript type Required Semantics
start boolean no
stop boolean no
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)

Template

Field TypeScript type Required Semantics
id string no
description string no
type string no
provisioned boolean no
configSupported boolean no

TemplateDetail

Field TypeScript type Required Semantics
id string no
description string no
type string no
provisioned boolean no
configSupported boolean no
icon string no
images Array<TemplateImage> no
default string no
image_requirement "required" "optional" "not_applicable"
attributes Array<TemplateAttribute> no

Used by: getTemplate

TemplateImage

Field TypeScript type Required Semantics
id string no
available boolean no

TemplateAttribute

Field TypeScript type Required Semantics
name string no
label string no
kind string no
group string no
required boolean no
default unknown no
values Array no
min unknown no
max unknown no

TemplatesData

Field TypeScript type Required Semantics
templates Array<Template> no

Used by: listTemplates

DeviceFamily

Presentation family for a template. The agent normalizes a missing, empty, or unknown value to other before this response.

Enum values: router, switchL2, switchL3, firewall, appliance, server, desktop, other

TemplateFamily

One template in the presentation catalog. description is copied from EVE, including .missing and .hided suffixes.

Field TypeScript type Required Semantics
description string yes
device_family DeviceFamily yes

TemplateCatalogData

GET /api/v1/templates/catalog data. Not a project and not a node. Do not write it into topology.yml.

Field TypeScript type Required Semantics
templates RecordTemplateFamily> yes

Used by: getTemplateCatalog

TemplateImagesData

Field TypeScript type Required Semantics
template string no
type string no
provisioned boolean no
default string no
images Array<TemplateImage> no

Used by: listTemplateImages

TemplateAttributesData

Field TypeScript type Required Semantics
template string no
type string no
attributes Array<TemplateAttribute> no

Used by: listTemplateAttributes

NetworkType

Field TypeScript type Required Semantics
id string no
label string no
icon string no
supported boolean no

NetworkTypesData

Field TypeScript type Required Semantics
types Array<NetworkType> no
natOnly boolean no

Used by: listNetworkTypes

NetworkAuthoring

Field TypeScript type Required Semantics
id string no
label string no
icon string no
supported boolean no
attributes Array<TemplateAttribute> no

Used by: getNetworkAuthoring

Icon

Field TypeScript type Required Semantics
id string no
label string no

IconsData

Field TypeScript type Required Semantics
icons Array<Icon> no

Used by: listIcons

AuthoringRevisionData

Lowercase SHA-256 of the canonical authoring snapshot JSON, excluding the revision field itself. iconsRevision is present after the icon zip has been built and is the SHA-256 of those zip bytes.

Field TypeScript type Required Semantics
revision string yes
iconsRevision string no

Used by: getAuthoringRevision

AuthoringSnapshotData

Process-memoized static authoring metadata. Icon file bytes are not included.

Field TypeScript type Required Semantics
revision string yes
templates Array<TemplateDetail> yes
catalog TemplateCatalogData yes
networkTypes NetworkTypesData yes
networks Array<NetworkAuthoring> yes
icons Array<Icon> yes
netIcons Array<Icon> yes
cluster Array<ClusterMember> no GET /api/cluster members loaded with the authoring snapshot. id is the sat key stored in topology.yml. name is the label shown in the node form. -1 any and 0 local are added by the form when absent.

Used by: getAuthoringSnapshot

ClusterMember

Field TypeScript type Required Semantics
id number yes Satellite id. 0 is the master. N > 0 is cluster.id.
name string yes

FolderEntry

Field TypeScript type Required Semantics
name string no
path string no
lock boolean no Listing lock hint only. GET lab.lock is authoritative.

FoldersData

Field TypeScript type Required Semantics
path string no
parent string no Parent folder path. Empty at labs root.
folders Array<FolderEntry> no
labs Array<FolderEntry> no

Used by: listFolders

Iface

One predicted interface. name is the authoring value. type may mix ethernet and serial in one list. used is node-mode only.

Field TypeScript type Required Semantics
name string no
type string no ethernet or serial. Per-item; not factored.
used boolean no Present in node completions. Omitted on template preview.

InterfacesData

Self-contextualized interface prediction. source/template/node are response-level resolved scope. items hold only varying fields. Native EVE if-index is not public.

Field TypeScript type Required Semantics
source "template" "node" no
template string no Canonical resolved template id.
node string no IaC node key when source=node. omitted: all nodes. empty string: all nodes. named: that IaC node key
items Array<Iface> no

Used by: completeLinkInterfaces, previewInterfaces

ImportData

Field TypeScript type Required Semantics
name string no
yaml string no
files Record no
mode string no
source_lab string no
managed_lab string no
lab string no
state unknown no
source unknown no

Used by: importProject

DeployData

Field TypeScript type Required Semantics
lab string no
nodes number no
links number no
state unknown no
unsupported Array no

Used by: deployProject

PlanSummary

Field TypeScript type Required Semantics
creates number no
updates number no
deletes number no
blocked number no

PlanAction

Field TypeScript type Required Semantics
op string no
kind string no
key string no
side string no
direction string no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
type string no
path string no Public dotted path when useful (nodes.r1.attributes.cpu). Never a filesystem path.
classification "live_applicable" "requires_stop" "unsupported"
applicable boolean no Derived per-action: true iff classification is live_applicable. Does not authorize EVE writes when the same plan contains an unsupported action.
reason string no
resolution string no
stop_nodes Array no IaC logical keys only. Never native EVE ids.
obligations Array no Ordered contract obligations (stop, wipe, put, destroy_node_links, rebuild_available_links, drop_orphan_links, start, …).
result string no What is true after obligations apply (applied_live, node_restarted, config_activated, links_rebuilt, orphans_dropped).
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned

PlanData

Field TypeScript type Required Semantics
lab string no
exists boolean no
summary PlanSummary no
operations Array<PlanAction> no
actions Array<PlanAction> no
applicable boolean no
blocked Array<PlanAction> no
text string no
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
locked boolean no
lock number no
direction string no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
unsupported Array no

Used by: planProject

ReconcileStep

One reconcile side effect. No native ids and no config bodies.

Field TypeScript type Required Semantics
op string no
kind string no
key string no
type string no
detail string no
effect "applied" "failed" "skipped"
error string no

ReconcileData

Compact reconcile summary. No YAML/config bodies, no native ids. applicable is a summary of immediate full convergence and must not gate execution.

Field TypeScript type Required Semantics
lab string no
direction string no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
status "converged" "partial" "pending_stop"
applied number no
skippedPrune number no
fullDeploy boolean no
applicable boolean no Summary only: full immediate convergence is possible (no requires_stop, no unsupported, not locked). Must not gate execution.
desired_updated boolean no
live ({
applied?: number;
failed?: number;
} & Record) no
requires_stop ({
nodes?: Array;
changes?: number;
} & Record) no
unsupported Record no Object {changes, messages} on reconcile. Plan still uses string[].
runtime ({
stopped?: Array;
restarted?: Array;
} & Record) no
summary PlanSummary no
operations Array<PlanAction> no The plan that was considered. Classification is not proof that a call was sent.
executed Array<ReconcileStep> no Side effects this reconcile actually performed or refused. effect is applied, failed, skipped, or pending_stop.
text string no Human-readable execution report. Same facts as executed.
blocked Array<PlanAction> no
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
state unknown no
yaml string no
files Record no
source unknown no
manifest string no

Used by: reconcileProject

DestroyData

Field TypeScript type Required Semantics
lab string no

Used by: destroyProject

ProjectStatusData

Field TypeScript type Required Semantics
mode string no
source_lab string null no
managed_lab string null no
runtime_lab string null no
capabilities ProjectModeCaps no
locked boolean no
lock number no
live ProjectLiveStatus no

Used by: getProjectStatus

ProjectLiveStatus

Lightweight live read from GET nodes/status when a runtime lab exists. Omitted when there is no runtime lab. Not a lab snapshot and not YAML intent. available false omits nodes and netem. A missing netem side is 0,0,0,0 and is omitted.

Field TypeScript type Required Semantics
available boolean no
joined boolean no True when native ids are named from packed state.node_ids, or as n_ in load mode.
nodes Array<RuntimeNode> no Present when available is true. Empty array means the lab has no nodes.
netem AppliedNetem no
error string no Present when available is false. The runtime query failed.

RuntimeNode

One live node from GET nodes/status. Not an inspection row.

Field TypeScript type Required Semantics
key string no Logical IaC node key when joined. Empty when unmapped on a managed project. n_ only in load mode.
id number no Native EVE node id.
state number no
state_label string no
mapped boolean no

InspectionData

Live/runtime observation. Not the desired topology.yml tree. Node key is a current repo/state identity join (logical IaC key when mapped). Native id is runtime metadata only. Use getPublicProject for public IaC JSON.

Field TypeScript type Required Semantics
observation boolean no
desired_state boolean no
mode string no
source_lab unknown no
managed_lab unknown no
runtime_lab string no
capabilities ProjectModeCaps no
cached boolean no
nodes Array<InspectNode> no
netem AppliedNetem no

Used by: inspectProject

AppliedNetem

Native node id → native interface id → applied sides. Not topology.yml. A missing side is 0,0,0,0 and is omitted.

Type: Record<string, Record<string, AppliedNetemIface>>

AppliedNetemIface

One interface. source is outbound from that interface. destination is the return toward that interface. A missing side is 0,0,0,0 and is omitted. A present side has at least one non-zero number.

Field TypeScript type Required Semantics
source LinkImpairment no
destination LinkImpairment no

InspectIface

One interface of a fully inspected node. id is the native EVE interface id used by AppliedNetem.

Field TypeScript type Required Semantics
id number no
name string no
type string no
network string no

InspectNode

One live node. key is the current logical IaC identity when mapped is true. id is the native EVE node id. Unmapped managed nodes omit key and never use n_ as a durable identity.

Field TypeScript type Required Semantics
key string no Logical IaC node key when mapped. Omitted when unmapped on a managed project. LOAD_FALLBACK n_ only in load mode.
id number no Native EVE node id. Runtime metadata only.
mapped boolean no True when id uniquely joins to a current repository node key via packed state.node_ids.
name string no
template string no
state number no
state_label string no
interfaces Array<InspectIface> no Present on a full inspection. id joins AppliedNetem. A runtime poll keeps these rows from the last full inspection.

PublicData

Canonical public IaC JSON isomorphic to topology.yml or eve-presentation.yml. Maps stay objects. When presentation is absent: {present: false}. Never includes Internal bindings or runtime state.

Type: Record<string, unknown>

Used by: getPublicProject

SchemaRequest

Lazy public schema projection. sections is required, minItems 1. Unknown or empty sections fail the whole request. Omitted sections never means return everything. No all=true.

Field TypeScript type Required Semantics
sections Array<"nodes" "networks" "links"

Used by: getPublicSchema

SchemaData

One SHA-256 revision of the embedded canonical schema plus a request-order map of self-contained JSON Schema (draft 2020-12) fragments. Each fragment includes $schema and a closed local $defs. Not lab data and not live EVE capabilities.

Field TypeScript type Required Semantics
revision string yes Lowercase hex SHA-256 of the exact embedded canonical schema bytes. Same value for every fragment in the response.
sections Record yes Map keyed by requested section name, preserving request order. Values are JSON Schema documents, not a compact DTO.

Used by: getPublicSchema

EditRequest

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
operations Array<EditOperation> yes Bounded canonical mutations applied as one in-memory transaction. Not RFC 6902 JSON Patch.

Used by: editProject, editProjectConfig

EditOperation

One bounded public-tree mutation using the same semantic model as topology.yml. Never includes Internal or native EVE ids.

Field TypeScript type Required Semantics
op "add" "update" "delete"
section "nodes" "networks" "links"
key string no Exact IaC map key. Required for nodes, networks, traffic_filters, tasks, configsets.
match Record no Exact canonical link object for links update/delete. Deep equality, not fuzzy.
value unknown no Canonical public JSON object for add.
patch Record no Recursive object merge for update. Arrays replace wholly. Omitted fields stay.
remove Array no RFC 6901 JSON Pointers relative to the selected object. Omitted means no field removal.

EditChanged

Compact keys/counts of objects touched by a successful batch. Not the object values.

Field TypeScript type Required Semantics
nodes Array no
networks Array no
links number no
traffic_filters Array no
tasks Array no
configsets Array no

EditResult

Compact edit result. HTTP 200 with applied=false is a successful call that found structural or validation errors; topology.yml is not written. yaml is a persist sidecar for clients and is omitted from MCP model output.

Field TypeScript type Required Semantics
applied boolean yes
operations number yes
changed EditChanged no
valid boolean yes
errors Array<ValidationError> yes
yaml string no Canonical topology.yml after a successful edit. Clients persist it locally. MCP strips this field from the model-visible result. Never an Internal/native dump.
repairs Array<EditOperation> no Deterministic closures the agent added to a node or network delete in this same transaction. Omitted when the requested operations were already coherent. Clients do not compute or replay these operations.

Used by: editProject

ConfigReadRequest

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
operation "index" "get" "search"
template string no Exact template id filter for index/search.
present boolean no index only. true = blobs present, false = missing. Omitted = both.
query string no search only. Literal substring. Required. Max 256 characters. Empty is invalid_request.
case_sensitive boolean no search only. Omitted = case-insensitive.
limit number no search only. Total match hits, not configs. Omitted = 20. Max 50. No OpenAPI default.
context_lines number no search only. Neighbor lines around each hit. Omitted = 0. Max 3. No OpenAPI default.

Used by: getProjectConfig

ConfigIndexEntry

One node in a startup-config index. Paths are never included. sha256 is omitted only when present is false. Empty blobs (present=true, bytes=0) include sha256 of zero bytes.

Field TypeScript type Required Semantics
template string yes
configset string yes
present boolean yes
bytes number no
sha256 string no

ConfigSearchMatch

One literal substring hit. line is 1-based. text is the matching line without its terminator. before/after exist only when context_lines > 0.

Field TypeScript type Required Semantics
line number yes
text string yes
before Array no
after Array no

ConfigSearchNode

Grouped search hits for one node. sha256 is present whenever the scanned blob is present, including empty blobs.

Field TypeScript type Required Semantics
template string yes
configset string yes
sha256 string no
matches Array<ConfigSearchMatch> yes

ConfigData

Index, get, or search SUCCESS. Discriminated by the request operation. lab is topology name:, never an EVE or IaC path. Never includes relative configs/ paths.

Field TypeScript type Required Semantics
lab string no
scope {
nodes?: Array;
} no
entries RecordConfigIndexEntry> no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
template string no
configset string no
present boolean no
bytes number no
sha256 string no
content string no
query string no
truncated boolean no
results RecordConfigSearchNode> no

Used by: getProjectConfig

ConfigEditRequest

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
operations Array<ConfigEditOp> yes Preflight all, then write. Not a multi-file transaction.

Used by: editProjectConfig

ConfigEditOp

One startup-config put or delete. Node is an exact IaC key. content is required for put. expected_sha256 is compared to stored bytes; mismatch is 409 config_conflict with zero writes.

Field TypeScript type Required Semantics
op "put" "delete" yes
node string yes omitted: all nodes. empty string: all nodes. named: that IaC node key
content string no Exact UTF-8 text for put. Preserved as submitted. Required for put. Ignored for delete.
configset string no Library override for this op. Omitted uses the node selector, then default.
expected_sha256 string no Lowercase hex SHA-256 of current stored bytes. Mismatch is config_conflict.

ConfigChanged

Post-op blob metadata. No content echo. sha256 omitted only when present is false. Empty blobs include sha256 of zero bytes.

Field TypeScript type Required Semantics
configset string yes
present boolean yes
bytes number yes
sha256 string no

ConfigEditData

Compact config-edit result. lab is topology name:. No content echo and no paths in model-visible fields. files, yaml, and deleted are persist sidecars; MCP strips them.

Field TypeScript type Required Semantics
lab string yes
applied boolean yes
operations number yes
changed RecordConfigChanged> yes
files Record no Changed blobs keyed by project-relative configs/ path. Persist sidecar. MCP strips this field.
yaml string no Canonical topology.yml when configsets or node selectors changed. Persist sidecar. MCP strips this field.
deleted Array no Project-relative configs/ paths to unlink. Persist sidecar. MCP strips this field.

Used by: editProjectConfig

OpenData

Field TypeScript type Required Semantics
url string no
ttl number no
lab string no

Used by: openProject

ConsoleRecord

Field TypeScript type Required Semantics
id number no
key string no
name string no
template string no
console string no
status number no
url string no

ConsolesData

Field TypeScript type Required Semantics
lab string no
html5 boolean no
consoles Array<ConsoleRecord> no

Used by: listProjectConsoles

ConsoleExecData

Field TypeScript type Required Semantics
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
name string no
console_type string no
command string no
output string no
duration_ms number no
timed_out boolean no
truncated boolean no
prompt string no
session_id string no
match string no
phase string no Interaction phase: discovering, ready, executing, paging, interactive, auth_required, error.
recovered boolean no True when a missing session was reopened for this call.
rx_to number no Receive sequence of the last byte belonging to this command.

Used by: execConsole

ConsoleExecManyData

Field TypeScript type Required Semantics
results Array<ConsoleExecData & ({
ok?: boolean;
code?: string;
error?: string;
} & Record)> no

Used by: execConsoleMany

ConsoleAttachData

Field TypeScript type Required Semantics
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
name string no
console_type string no
stream string no
transport "eve-telnet" no
session_id string no
mode ConsoleWriteMode no

Used by: attachConsole

OobNode

Field TypeScript type Required Semantics
key string no Canonical node key. This is the SSH HostName.
name string no Display name used only to fold the Host alias.

OobStatusData

Field TypeScript type Required Semantics
active boolean no
username string no SSH username. Always eve-oob while active. HTTP does not authenticate this name.
user_public_key string no
host_public_key string no
host_fingerprint string no

Used by: startOob, getOobStatus, stopOob

OobCredentialsData

User private key and host public key for this generation. known_hosts lists the catalogue at this call. The host private key and Telnet endpoint are never included.

Field TypeScript type Required Semantics
username string no
user_private_key string no
user_public_key string no
host_public_key string no
host_fingerprint string no
known_hosts string no
nodes Array<OobNode> no

Used by: getOobCredentials

OobOpenData

Field TypeScript type Required Semantics
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
ticket string no 64-char lowercase hex. Single use. 30s TTL. Bound to this session, project, node, and generation.
stream string no GET path for Upgrade: eve-oob.

Used by: openOob

ConsoleSessionData

Field TypeScript type Required Semantics
session_id string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
name string no
console_type string no
mode ConsoleWriteMode no
state "idle" "connecting" "open"
created_at string no
last_activity string no
observers number no
writers number no
owner string no Exclusive writer owner when mode is exclusive.
phase string no Interaction phase. state remains the TCP lifecycle.

Used by: createConsoleSession, getConsoleSession, closeConsoleSession

ConsoleSessionListData

Field TypeScript type Required Semantics
sessions Array<ConsoleSessionData> no

Used by: listConsoleSessions

ConsoleHistoryData

Field TypeScript type Required Semantics
session_id string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
text string no Bounded raw console tail (UTF-8 interpretation).
truncated boolean no
byte_count number no
available_bytes number no Bytes retained in the Hub ring (max 65536).
end_seq number no Receive sequence of the newest byte retained in the ring.

Used by: getConsoleHistory

ConsoleWaitData

Field TypeScript type Required Semantics
session_id string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
matched boolean no
match string no
text string no Matched snippet.
duration_ms number no
timed_out boolean no
truncated boolean no

Used by: waitConsole

ConsoleRunStepResult

Field TypeScript type Required Semantics
index number no 0-based step index.
expect string no
sent string no Redacted send; secrets appear as ********.
matched string no
duration_ms number no
timed_out boolean no
truncated boolean no
code string no
error string no

ConsoleRunData

Field TypeScript type Required Semantics
session_id string no
ok boolean no
failed_step number no 0-based failed step index; -1 when ok.
steps Array<ConsoleRunStepResult> no
transcript string no Bytes received after the sends in this run, up to the completing match.
truncated boolean no
duration_ms number no
prompt string no
phase string no
rx_to number no
recovered boolean no

Used by: runConsole

ListTemplatesQuery

Generated query object. Omit the whole argument to send no query string.

Field TypeScript type Required Semantics
provisioned string no Only the string true filters to provisioned templates. Omitted means all.

Used by: listTemplates

ListFoldersQuery

Generated query object. Omit the whole argument to send no query string.

Field TypeScript type Required Semantics
path string no EVE folder path. Omitted or empty means labs root /. Not a .unl lab path.

Used by: listFolders

GetPublicSchemaRequest

Request body alias of SchemaRequest. Same wire shape.

Alias of SchemaRequest.

Field TypeScript type Required Semantics
sections Array<"nodes" "networks" "links"

CompleteLinkInterfacesRequest

Request body alias of AuthoringPayload. Same wire shape.

Alias of AuthoringPayload.

Field TypeScript type Required Semantics
dir string no Rejected when non-empty.
yaml string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
template string no
attributes Record no
excludeUsed boolean no
eth_format string no

PreviewInterfacesRequest

Request body alias of AuthoringPayload. Same wire shape.

Alias of AuthoringPayload.

Field TypeScript type Required Semantics
dir string no Rejected when non-empty.
yaml string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
template string no
attributes Record no
excludeUsed boolean no
eth_format string no

ValidateProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

ImportProjectRequest

Request body for importProject.

Field TypeScript type Required Semantics
lab string yes
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

Used by: importProject

DeployProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

PlanProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

ReconcileProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

DestroyProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

GetProjectStatusRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

InspectProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

GetPublicProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

EditProjectRequest

Request body alias of EditRequest. Same wire shape.

Alias of EditRequest.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
operations Array<EditOperation> yes Bounded canonical mutations applied as one in-memory transaction. Not RFC 6902 JSON Patch.

GetProjectConfigRequest

Request body alias of ConfigReadRequest. Same wire shape.

Alias of ConfigReadRequest.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
operation "index" "get" "search"
template string no Exact template id filter for index/search.
present boolean no index only. true = blobs present, false = missing. Omitted = both.
query string no search only. Literal substring. Required. Max 256 characters. Empty is invalid_request.
case_sensitive boolean no search only. Omitted = case-insensitive.
limit number no search only. Total match hits, not configs. Omitted = 20. Max 50. No OpenAPI default.
context_lines number no search only. Neighbor lines around each hit. Omitted = 0. Max 3. No OpenAPI default.

EditProjectConfigRequest

Request body alias of ConfigEditRequest. Same wire shape.

Alias of ConfigEditRequest.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
operations Array<ConfigEditOp> yes Preflight all, then write. Not a multi-file transaction.

OpenProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

ListProjectConsolesRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

ExecProjectRequest

Request body for execProject.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string yes
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

Used by: execProject

ExportProjectConfigRequest

Request body alias of ExportConfigRequest. Same wire shape.

Alias of ExportConfigRequest.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string yes exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

ApplyLinkQualityRequest

Request body for applyLinkQuality.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
match PublicLinkMatch yes
source_impairment LinkImpairment no
destination_impairment LinkImpairment no
save boolean no When true, native quality save=1 persists NETEM into the UNL (admin session, unlocked lab). Omitted or false is live-only save=0. Never writes topology.yml.

Used by: applyLinkQuality

SetLinkSuspendRequest

Request body for setLinkSuspend.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
match PublicLinkMatch yes
suspended boolean yes true = native suspend; false = native resume. Required; omitted is 400 invalid_request.
side string no source, destination, or both. Omitted/empty is both. Wire-distinct from explicit both.

Used by: setLinkSuspend

StartCaptureRequest

Request body for startCapture.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string yes omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.
interface string yes Interface name on that node.

Used by: startCapture

AttachTrafficRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

ExecConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

ExecConsoleManyRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

AttachConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

CreateConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

ListConsoleSessionsRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

GetConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

CloseConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

GetConsoleHistoryRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

WaitConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

RunConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
manifest string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command string no
commands Array no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms number no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets Array<ConsoleTarget> no
session_id string no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq number no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern string no Go regexp for waitConsole.
max_bytes number no Bounded history tail for getConsoleHistory.
steps Array<ConsoleRunStep> no
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

StartOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

GetOobStatusRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

GetOobCredentialsRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

StopOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.

OpenOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field TypeScript type Required Semantics
lab string no
yaml string no
files Record no
state unknown no
source unknown no
manifest string no
prune boolean no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe boolean no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action string no
node string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes Array no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id number no
stopmode number no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh boolean no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace boolean no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity string no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction string no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm boolean no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file string no getPublicProject only. topology or presentation. Omitted = topology.
path string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter string no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir string no Rejected when non-empty.
out string no Rejected when non-empty.