Skip to main content
Generated from the Techstack v0.39.0 release (source 49677b729cb9). For an installed version, techstack api <command> --help is authoritative.

techstack api stacks create

Create a StackKit deployment in the owner’s Homelab. Creates an internal StackKit deployment under the authenticated B2C owner’s singleton Homelab from the canonical StackKits stack-spec payload supplied as stack_spec. The legacy /stacks route and stack_id response field identify that deployment; they do not create or select a second Homelab product. One TechStack instance can serve many owners, each with their own Homelab. Legacy user_config/kombination payloads remain accepted at this compatibility boundary. Wizard clients should send a stable X-Idempotency-Key; retries with the same key and payload return the original deployment, planned server, and provisioning job.
Requires confirmation: This operation creates the StackKit deployment and starts provisioning, which can order billed servers. Pass --yes or answer the prompt; a non-interactive run without --yes stops before any request with exit code 9.

techstack api stacks deploy

Roll out one StackKit deployment (unify + IaC + tofu apply).

techstack api stacks destroy

Decommission one StackKit deployment and its infrastructure.
Requires confirmation: This operation decommissions all infrastructure of the StackKit deployment. Pass --yes or answer the prompt; a non-interactive run without --yes stops before any request with exit code 9.

techstack api stacks drift check

Trigger drift check. Rate limited to once per 5 minutes (unless force=true)

techstack api stacks drift details

Get detailed drift information with affected resources.

techstack api stacks drift resolve

Trigger drift resolution (re-apply). Precondition — stack must have status “drifted”
Requires confirmation: This operation re-applies the stack spec to its servers and overwrites drifted changes. Pass --yes or answer the prompt; a non-interactive run without --yes stops before any request with exit code 9.

techstack api stacks drift status

Get current drift status.

techstack api stacks export

Export stack as stack-spec.yaml. Returns StackKits stack-spec YAML or JSON depending on Accept header

techstack api stacks import

Import stack-spec.yaml as a StackKit deployment. Imports YAML or JSON as a deployment under the authenticated owner’s Homelab.

techstack api stacks intent

Get persisted kombination.yaml (byte-exact, base64).

techstack api stacks list

List the owner’s StackKit deployments. Returns every StackKit deployment beneath the authenticated owner’s singleton B2C Homelab. kit_deployment_id, homelab_id, and stackkit_id are the product identities; legacy identifiers remain compatibility aliases on this route while consumers migrate.

techstack api stacks managed-runtimes add

Add one managed Node through native provider control. Creates or resumes one deterministic Add-Server job for the exact owned StackKit deployment. The standard Idempotency-Key is mandatory. Replaying the same key with the same canonical request returns the original job, lease, runtime-server, resource-generation, and provider-operation correlations; reusing it with different intent fails with 409. The raw key is never persisted or returned. A lost response or an uncertain native-admission outcome remains resumable only with the same key. HTTP acceptance means native admission is durable and provider reconciliation is pending; it never claims that the VM is already provisioned or healthy. Fresh admission atomically reserves the authenticated tenant/owner capacity slot with the lease generation and provider operation. When authoritative native admission finds that bounded capacity full, it persists a non-retryable 403 outcome and replaying that denied job returns the same outcome. Exact replays of an already committed admission reuse its existing reservation. This version has no automatic reservation release: terminal or local decommission state alone does not free a slot. Lease inventory and feature-delivery flags never authorize or deny capacity. Hosted fresh admission also requires the v2-signed commercial runtime and provider entitlements plus the signed cloud.runtime.credits managed_servers mode/limit decision; feature flags alone never grant provider capacity. Self-host OSS uses its construction-fixed static release-manifest policy instead of a SaaS entitlement dependency.
Requires confirmation: This operation orders an additional managed server for the StackKit deployment and is billed. Pass --yes or answer the prompt; a non-interactive run without --yes stops before any request with exit code 9.

techstack api stacks operations

Get the post-configuration operations read model for one owned StackKit deployment. Returns the exact owner- and tenant-scoped read model used by the TechStack operations dashboard. approved_servers records operator approval; connected_servers is stricter and counts only assigned, approved Nodes with freshness-qualified canonical Guard heartbeat, connection, and health evidence. The operation is read-only and never starts rollout, provisioning, or provider work.

techstack api stacks owner-spec

Fetch the owner bootstrap spec for a StackKit deployment. StackKit admin-bootstrap endpoint for fetching local owner fields and the recovery passphrase hash. This route accepts only the short-lived bootstrap bearer token returned by createStack; it does not use the normal browser/session bearer token.

techstack api stacks pipeline-status

Get complete pipeline status for all spec phases.

techstack api stacks provision

Start provisioning an existing StackKit deployment.
Requires confirmation: This operation starts provisioning the StackKit deployment, which can order billed servers. Pass --yes or answer the prompt; a non-interactive run without --yes stops before any request with exit code 9.

techstack api stacks prune-orphans

Review or apply owner-scoped test-residue cleanup. Two-phase cleanup for control-plane projections only. A dry_run returns the exact authenticated-owner E2E/runtime-cloud candidates and a stable revision-bound digest. apply recomputes the plan and accepts only that exact digest. This route never decommissions a lease, calls a provider, destroys infrastructure, or enqueues lifecycle work.
Requires confirmation: This operation deletes the reviewed orphaned control-plane records when mode is apply. Pass --yes or answer the prompt; a non-interactive run without --yes stops before any request with exit code 9.

techstack api stacks requirements

Get requirements spec (Phase 1 output).

techstack api stacks resume-enrollment

Resume one overdue managed Node wait on its exact existing VM. Authenticated, idempotent recovery for a persisted waiting_enrollment, waiting_provider_provision, or waiting_canonical_guard job whose next_resume_at has been overdue beyond the bounded grace period. The server validates the owned StackKit deployment, source job, wait reason, exact lease, active foundation role, and canonical Node as one operation. It atomically retires the exact source wait, creates or rehydrates one deterministic replacement deploy bound to the same lease and Node, and replays that job on later calls. Before handler entry, queue workers atomically acquire the durable tenant/stack compatibility execution claim; this serializes different jobs for the same StackKit deployment across Techstack replicas. The claim remains durable running until the handler exits, including during cancellation. This endpoint never invokes provider VM creation or selects a newer VM. A replacement found durable running after a crash remains fail-closed, is reported as the same job, and is never duplicated automatically; runtime-action reconciliation remains a separate operator concern.

techstack api stacks retry-rollout

Retry one failed StackKit deployment rollout on its exact existing managed VM. Validates the owned failed deploy, its exact active foundation lease, and canonical Node in one server-side operation. The deterministic durable replacement bypasses provider VM creation, wins a durable tenant/stack compatibility execution claim before handler entry, and is replayed on repeated calls to this operation. The claim serializes different jobs for the same StackKit deployment across replicas and remains fail-closed as running after a process crash until operator reconciliation.

techstack api stacks routing ensure

Ensure the desired routing overlay for one exact StackKit deployment and Node. Atomically persists an idempotent, revisioned routing overlay without mutating the user’s immutable intent. server_id is always exact and mandatory. lease_id is mandatory for managed runtimes and omitted for a local/Basement runtime which has no lease. For a managed target, a true ensure_rollout request dispatches the existing deploy pipeline only after proving that its selected active foundation lease and canonical Node equal this exact target. The API never reports the resulting job as already applied. The overlay is consumed only while deriving StackKits artifacts and this path never creates or selects a replacement VM.

techstack api stacks routing get

Read desired and observed routing state for one StackKit deployment. Returns the tenant- and owner-bound routing overlay for the exact StackKit deployment. Desired state and observed/applied state are reported separately so clients never infer a successful DNS, TLS, or StackKit rollout from persistence alone.

techstack api stacks routing targets

List explicit primary routing targets for one StackKit deployment. Read-only discovery backed by active RuntimeLease authority. Returns every owner-visible foundation/control-plane target and never selects one, creates a canonical Node (ServerRuntime) projection, or mutates the StackKit deployment. Callers must send the complete server_id and lease_id tuple to a routing mutation.

techstack api stacks unified

Get unified spec (Phase 2 output).

techstack api stacks validate-import

Validate spec without importing.

techstack api stacks verify-chain

Verify spec hash chain integrity.