TypeScript API reference
Generated from eve-iac OpenAPI/semantics. Do not edit manually.
Public methods on EveIacClient from createEveIacClient. Types are exported from @eve-iac/sdk.
Omission rules:
undefined is omitted from JSON
null remains explicit null where the schema allows it
false, 0, and "" remain explicit values
timeoutMs overrides the operation timeout. Omit it to use the semantics default.
Connection / Authentication
getHealth
Signature
getHealth(timeoutMs?: number): Promise<HealthData>
Description
GET /api/v1/health. operationId getHealth. Timeout 15000ms.
- HTTP:
GET /api/v1/health
- operationId:
getHealth
- Authentication: none
- Default timeout: 15000 ms
Parameters
| Parameter |
Type |
Required |
Description |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
HealthData
| Field |
TypeScript type |
Required |
Semantics |
status |
string |
no |
|
tls |
boolean |
no |
|
version |
string |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const health = await client.getHealth();
console.log(health.status);
login
Signature
login(body: LoginRequest, timeoutMs?: number): Promise<LoginData>
Description
POST /api/v1/login. operationId login. Timeout 15000ms.
- HTTP:
POST /api/v1/login
- operationId:
login
- Authentication: none
- Default timeout: 15000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
LoginRequest |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Request schema: LoginRequest
This request type is the same wire shape as LoginRequest.
| Field |
TypeScript type |
Required |
Semantics |
username |
string |
yes |
|
password |
string |
yes |
|
Returns
LoginData
| Field |
TypeScript type |
Required |
Semantics |
token |
string |
no |
|
username |
string |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
invalid_credentials |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
Example
const session = await client.login({ username: "admin", password: "secret" });
const authed = createEveIacClient({ url, token: session.token ?? "", caPem });
logout
Signature
logout(body: LogoutRequest = {}, timeoutMs?: number): Promise<StatusOkData>
Description
POST /api/v1/logout. operationId logout. Timeout 15000ms.
- HTTP:
POST /api/v1/logout
- operationId:
logout
- Authentication: Bearer token required
- Default timeout: 15000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
LogoutRequest |
no |
Optional; empty object is sent when omitted. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Request schema: LogoutRequest
This request type is the same wire shape as LogoutRequest.
No object fields (see type).
Returns
StatusOkData
| Field |
TypeScript type |
Required |
Semantics |
status |
string |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
await client.logout();
getSession
Signature
getSession(timeoutMs?: number): Promise<SessionData>
Description
GET /api/v1/session. operationId getSession. Timeout 15000ms.
- HTTP:
GET /api/v1/session
- operationId:
getSession
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
SessionData
| Field |
TypeScript type |
Required |
Semantics |
username |
string |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const session = await client.getSession();
getCapabilities
Signature
getCapabilities(timeoutMs?: number): Promise<CapabilitiesData>
Description
GET /api/v1/capabilities. operationId getCapabilities. Timeout 15000ms.
- HTTP:
GET /api/v1/capabilities
- operationId:
getCapabilities
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
CapabilitiesData
| Field |
TypeScript type |
Required |
Semantics |
eveReachable |
boolean |
no |
|
eveBaseUrl |
string |
no |
|
features |
Record |
no |
|
projectModes |
RecordProjectModeCaps> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const caps = await client.getCapabilities();
listTemplates
Signature
listTemplates(query?: ListTemplatesQuery, timeoutMs?: number): Promise<TemplatesData>
Description
GET /api/v1/templates. operationId listTemplates. Timeout 15000ms.
- HTTP:
GET /api/v1/templates
- operationId:
listTemplates
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
query |
ListTemplatesQuery (ListTemplatesQuery) |
no |
Query object. Omit the argument to send no query string. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Query schema: ListTemplatesQuery
| Field |
TypeScript type |
Required |
Semantics |
provisioned |
string |
no |
Only the string true filters to provisioned templates. Omitted means all. |
Returns
TemplatesData
| Field |
TypeScript type |
Required |
Semantics |
templates |
Array<Template> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const all = await client.listTemplates();
const provisioned = await client.listTemplates({ provisioned: "true" });
getTemplate
Signature
getTemplate(id: string, timeoutMs?: number): Promise<TemplateDetail>
Description
GET /api/v1/templates/{id}. operationId getTemplate. Timeout 15000ms.
- HTTP:
GET /api/v1/templates/{id}
- operationId:
getTemplate
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
id |
string |
yes |
Path parameter |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
TemplateDetail
| Field |
TypeScript type |
Required |
Semantics |
id |
string |
no |
|
description |
string |
no |
|
type |
string |
no |
|
provisioned |
boolean |
no |
|
configSupported |
boolean |
no |
|
images |
Array<TemplateImage> |
no |
|
default |
string |
no |
|
attributes |
Array<TemplateAttribute> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const data = await client.getTemplate("iol");
listTemplateImages
Signature
listTemplateImages(id: string, timeoutMs?: number): Promise<TemplateImagesData>
Description
GET /api/v1/templates/{id}/images. operationId listTemplateImages. Timeout 15000ms.
- HTTP:
GET /api/v1/templates/{id}/images
- operationId:
listTemplateImages
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
id |
string |
yes |
Path parameter |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
TemplateImagesData
| Field |
TypeScript type |
Required |
Semantics |
template |
string |
no |
|
type |
string |
no |
|
provisioned |
boolean |
no |
|
default |
string |
no |
|
images |
Array<TemplateImage> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const data = await client.listTemplateImages("iol");
listTemplateAttributes
Signature
listTemplateAttributes(id: string, timeoutMs?: number): Promise<TemplateAttributesData>
Description
GET /api/v1/templates/{id}/attributes. operationId listTemplateAttributes. Timeout 15000ms.
- HTTP:
GET /api/v1/templates/{id}/attributes
- operationId:
listTemplateAttributes
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
id |
string |
yes |
Path parameter |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
TemplateAttributesData
| Field |
TypeScript type |
Required |
Semantics |
template |
string |
no |
|
type |
string |
no |
|
attributes |
Array<TemplateAttribute> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const data = await client.listTemplateAttributes("iol");
listNetworkTypes
Signature
listNetworkTypes(timeoutMs?: number): Promise<NetworkTypesData>
Description
GET /api/v1/network-types. operationId listNetworkTypes. Timeout 15000ms.
- HTTP:
GET /api/v1/network-types
- operationId:
listNetworkTypes
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
NetworkTypesData
| Field |
TypeScript type |
Required |
Semantics |
types |
Array<NetworkType> |
no |
|
natOnly |
boolean |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.listNetworkTypes();
listIcons
Signature
listIcons(timeoutMs?: number): Promise<IconsData>
Description
GET /api/v1/icons. operationId listIcons. Timeout 15000ms.
- HTTP:
GET /api/v1/icons
- operationId:
listIcons
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
IconsData
| Field |
TypeScript type |
Required |
Semantics |
icons |
Array<Icon> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.listIcons();
completeLinkInterfaces
Signature
completeLinkInterfaces(body: AuthoringPayload, timeoutMs?: number): Promise<LinkCompletionsData>
Description
POST /api/v1/authoring/link-completions. operationId completeLinkInterfaces. Timeout 15000ms.
- HTTP:
POST /api/v1/authoring/link-completions
- operationId:
completeLinkInterfaces
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
body |
AuthoringPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Request schema: AuthoringPayload
This request type is the same wire shape as 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 |
|
Returns
LinkCompletionsData
| Field |
TypeScript type |
Required |
Semantics |
node |
string |
no |
omitted: all nodes. empty string: all nodes. named: that IaC node key |
items |
Array<Iface> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const data = await client.completeLinkInterfaces({ template: "iol" });
previewInterfaces
Signature
previewInterfaces(body: AuthoringPayload, timeoutMs?: number): Promise<InterfacesPreviewData>
Description
POST /api/v1/authoring/interfaces. operationId previewInterfaces. Timeout 15000ms.
- HTTP:
POST /api/v1/authoring/interfaces
- operationId:
previewInterfaces
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
body |
AuthoringPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Request schema: AuthoringPayload
This request type is the same wire shape as 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 |
|
Returns
InterfacesPreviewData
| Field |
TypeScript type |
Required |
Semantics |
items |
Array<Iface> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const data = await client.previewInterfaces({ template: "iol" });
Projects
validateProject
Signature
validateProject(body: ProjectPayload, timeoutMs?: number): Promise<ValidateData>
Description
POST /api/v1/projects/validate. operationId validateProject. Timeout 15000ms.
- HTTP:
POST /api/v1/projects/validate
- operationId:
validateProject
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
ValidateData
| Field |
TypeScript type |
Required |
Semantics |
status |
string |
yes |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.validateProject({ lab, manifest, yaml, files });
importProject
Signature
importProject(body: ProjectPayload & {
lab: string;
}, timeoutMs?: number): Promise<ImportData>
Description
POST /api/v1/projects/import. operationId importProject. Timeout 120000ms. Clones source_lab into a managed working copy. Does not mutate source_lab. from_eve is not this operation.
- HTTP:
POST /api/v1/projects/import
- operationId:
importProject
- Authentication: Bearer token required
- Default timeout: 120000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload & { lab: string; } |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 120000 ms default. |
Request schema
lab is required. Import clones source_lab into a managed working copy. It does not mutate source_lab. It is not from_eve reconcile.
| 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
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 |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
operation_not_allowed |
Contractual/known for this call or its transport |
lab_busy |
Contractual/known for this call or its transport |
lab_locked |
Contractual/known for this call or its transport |
lab_locked_mid_apply |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const imported = await client.importProject({
lab: "/IaC/example.unl",
manifest,
yaml,
files,
});
// Import clones source_lab. It is not reconcile from_eve.
planProject
Signature
planProject(body: ProjectPayload, timeoutMs?: number): Promise<PlanData>
Description
POST /api/v1/projects/plan. operationId planProject. Timeout 180000ms. Dry-run. Omitted direction is to_eve. Never writes Local files or EVE.
- HTTP:
POST /api/v1/projects/plan
- operationId:
planProject
- Authentication: Bearer token required
- Default timeout: 180000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 180000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
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. 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 |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
invalid_direction |
Contractual/known for this call or its transport |
plan_stale |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.planProject({ lab, manifest, yaml, files });
deployProject
Signature
deployProject(body: ProjectPayload, timeoutMs?: number): Promise<DeployData>
Description
POST /api/v1/projects/deploy. operationId deployProject. Timeout 300000ms.
- HTTP:
POST /api/v1/projects/deploy
- operationId:
deployProject
- Authentication: Bearer token required
- Default timeout: 300000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 300000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
DeployData
| Field |
TypeScript type |
Required |
Semantics |
lab |
string |
no |
|
nodes |
number |
no |
|
links |
number |
no |
|
state |
unknown |
no |
|
unsupported |
Array |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
lab_exists |
Contractual/known for this call or its transport |
operation_not_allowed |
Contractual/known for this call or its transport |
lab_busy |
Contractual/known for this call or its transport |
lab_locked |
Contractual/known for this call or its transport |
lab_locked_mid_apply |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.deployProject({ lab, manifest, yaml, files });
reconcileProject
Signature
reconcileProject(body: ProjectPayload, timeoutMs?: number): Promise<ReconcileData>
Description
POST /api/v1/projects/reconcile. operationId reconcileProject. Timeout 300000ms. to_eve mutates EVE. from_eve updates Local from the managed lab with no mutating EVE writes. from_eve is not Import.
- HTTP:
POST /api/v1/projects/reconcile
- operationId:
reconcileProject
- Authentication: Bearer token required
- Default timeout: 300000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 300000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
ReconcileData
| Field |
TypeScript type |
Required |
Semantics |
lab |
string |
no |
|
applied |
number |
no |
|
skippedPrune |
number |
no |
|
fullDeploy |
boolean |
no |
|
applicable |
boolean |
no |
|
summary |
PlanSummary |
no |
|
operations |
Array<PlanAction> |
no |
|
blocked |
Array<PlanAction> |
no |
|
direction |
string |
no |
omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import |
state |
unknown |
no |
|
yaml |
string |
no |
|
files |
Record |
no |
|
source |
unknown |
no |
|
manifest |
string |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
invalid_direction |
Contractual/known for this call or its transport |
plan_stale |
Contractual/known for this call or its transport |
operation_not_allowed |
Contractual/known for this call or its transport |
lab_busy |
Contractual/known for this call or its transport |
lab_locked |
Contractual/known for this call or its transport |
lab_locked_mid_apply |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.reconcileProject({ lab, manifest, yaml, files });
destroyProject
Signature
destroyProject(body: ProjectPayload, timeoutMs?: number): Promise<DestroyData>
Description
POST /api/v1/projects/destroy. operationId destroyProject. Timeout 180000ms.
- HTTP:
POST /api/v1/projects/destroy
- operationId:
destroyProject
- Authentication: Bearer token required
- Default timeout: 180000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 180000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
DestroyData
| Field |
TypeScript type |
Required |
Semantics |
lab |
string |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
operation_not_allowed |
Contractual/known for this call or its transport |
lab_busy |
Contractual/known for this call or its transport |
lab_locked |
Contractual/known for this call or its transport |
lab_locked_mid_apply |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.destroyProject({ lab, manifest, yaml, files });
getProjectStatus
Signature
getProjectStatus(body: ProjectPayload, timeoutMs?: number): Promise<ProjectStatusData>
Description
POST /api/v1/projects/status. operationId getProjectStatus. Timeout 15000ms.
- HTTP:
POST /api/v1/projects/status
- operationId:
getProjectStatus
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
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 |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.getProjectStatus({ lab, manifest, yaml, files });
inspectProject
Signature
inspectProject(body: ProjectPayload, timeoutMs?: number): Promise<InspectionData>
Description
POST /api/v1/projects/inspect. operationId inspectProject. Timeout 120000ms. Observation, not desired state.
- HTTP:
POST /api/v1/projects/inspect
- operationId:
inspectProject
- Authentication: Bearer token required
- Default timeout: 120000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 120000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
InspectionData
| 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 |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.inspectProject({ lab, manifest, yaml, files });
openProject
Signature
openProject(body: ProjectPayload, timeoutMs?: number): Promise<OpenData>
Description
POST /api/v1/projects/open. operationId openProject. Timeout 30000ms.
- HTTP:
POST /api/v1/projects/open
- operationId:
openProject
- Authentication: Bearer token required
- Default timeout: 30000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 30000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
OpenData
| Field |
TypeScript type |
Required |
Semantics |
url |
string |
no |
|
ttl |
number |
no |
|
lab |
string |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.openProject({ lab, manifest, yaml, files });
Execution / Consoles
listProjectConsoles
Signature
listProjectConsoles(body: ProjectPayload, timeoutMs?: number): Promise<ConsolesData>
Description
POST /api/v1/projects/consoles. operationId listProjectConsoles. Timeout 30000ms.
- HTTP:
POST /api/v1/projects/consoles
- operationId:
listProjectConsoles
- Authentication: Bearer token required
- Default timeout: 30000 ms
- Auth replay: read/idempotent calls may retry once after agent re-auth
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 30000 ms default. |
Request schema: ProjectPayload
This request type is the same wire shape as 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
ConsolesData
| Field |
TypeScript type |
Required |
Semantics |
lab |
string |
no |
|
html5 |
boolean |
no |
|
consoles |
Array<ConsoleRecord> |
no |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.listProjectConsoles({ lab, manifest, yaml, files });
execProject
Signature
execProject(body: ProjectPayload & {
action: string;
}, timeoutMs?: number): Promise<BulkResult>
Description
POST /api/v1/projects/exec. operationId execProject. Timeout 180000ms. action is start|stop|wipe. Omitted or empty node means all nodes. Success data is BulkResult with stable lowercase keys. Omitted stopmode is 3; explicit 0 is graceful.
- HTTP:
POST /api/v1/projects/exec
- operationId:
execProject
- Authentication: Bearer token required
- Default timeout: 180000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
ProjectPayload & { action: string; } |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 180000 ms default. |
Request schema
| 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; extras are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: delete extra live objects on to_eve |
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 |
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. 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 |
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
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 |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
operation_not_allowed |
Contractual/known for this call or its transport |
lab_busy |
Contractual/known for this call or its transport |
lab_locked |
Contractual/known for this call or its transport |
lab_locked_mid_apply |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.execProject({ lab, manifest, yaml, files, action: "start" });
execConsole
Signature
execConsole(body: ConsolePayload, timeoutMs?: number): Promise<ConsoleExecData>
Description
POST /api/v1/console/exec. operationId execConsole. Timeout 15000ms.
- HTTP:
POST /api/v1/console/exec
- operationId:
execConsole
- Authentication: Bearer token required
- Default timeout: 15000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
ConsolePayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Request schema: ConsolePayload
This request type is the same wire shape as 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 |
|
timeout_ms |
number |
no |
|
targets |
Array<ConsoleTarget> |
no |
|
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
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 |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const data = await client.execConsole({ lab, node: "n_1", command: "show version" });
execConsoleMany
Signature
execConsoleMany(body: ConsolePayload, timeoutMs?: number): Promise<ConsoleExecManyData>
Description
POST /api/v1/console/exec-many. operationId execConsoleMany. Timeout 15000ms.
- HTTP:
POST /api/v1/console/exec-many
- operationId:
execConsoleMany
- Authentication: Bearer token required
- Default timeout: 15000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
ConsolePayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Request schema: ConsolePayload
This request type is the same wire shape as 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 |
|
timeout_ms |
number |
no |
|
targets |
Array<ConsoleTarget> |
no |
|
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
ConsoleExecManyData
| Field |
TypeScript type |
Required |
Semantics |
results |
Array<ConsoleExecData & ({ |
|
|
| ok?: boolean; |
|
|
|
| code?: string; |
|
|
|
| error?: string; |
|
|
|
| } & Record)> |
no |
|
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
Example
const result = await client.execConsoleMany({ lab, manifest, yaml, files });
attachConsole
Signature
attachConsole(body: ConsolePayload, timeoutMs?: number): Promise<ConsoleAttachData>
Description
POST /api/v1/console/attach. operationId attachConsole. Timeout 30000ms.
- HTTP:
POST /api/v1/console/attach
- operationId:
attachConsole
- Authentication: Bearer token required
- Default timeout: 30000 ms
Parameters
| Parameter |
Type |
Required |
Description |
body |
ConsolePayload |
yes |
Request body. |
timeoutMs |
number |
no |
Override the 30000 ms default. |
Request schema: ConsolePayload
This request type is the same wire shape as 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 |
|
timeout_ms |
number |
no |
|
targets |
Array<ConsoleTarget> |
no |
|
dir |
string |
no |
Rejected when non-empty. |
out |
string |
no |
Rejected when non-empty. |
Returns
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 |
|
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
browser_token_invalid |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
Example
const attached = await client.attachConsole({ lab, node: "n_1" });
streamConsole
Signature
streamConsole(ticket: string, timeoutMs?: number): Promise<import("node:net").Socket>
Description
GET /api/v1/console/stream/{ticket}. operationId streamConsole. Timeout 15000ms. Success is 101 Switching Protocols, not a JSON envelope.
- HTTP:
GET /api/v1/console/stream/{ticket}
- operationId:
streamConsole
- Authentication: Bearer token required
- Default timeout: 15000 ms
- Success is HTTP 101 Switching Protocols, not a JSON envelope
Parameters
| Parameter |
Type |
Required |
Description |
ticket |
string |
yes |
Path parameter |
timeoutMs |
number |
no |
Override the 15000 ms default. |
Returns
Promise<net.Socket> — upgraded telnet byte stream.
Errors
JSON failures become AgentError with message, status, code, and optional data. The error string is diagnostic only; key off code and HTTP status.
| code |
When |
unauthenticated |
Contractual/known for this call or its transport |
expired_agent_session |
Contractual/known for this call or its transport |
expired_eve_session |
Contractual/known for this call or its transport |
browser_token_invalid |
Contractual/known for this call or its transport |
tls_required |
Contractual/known for this call or its transport |
tls_untrusted |
Contractual/known for this call or its transport |
tls_pin_mismatch |
Contractual/known for this call or its transport |
Example
const sock = await client.streamConsole(ticket);