Get started
Quickstart
An API key, the SDK, and your first machine.
Three steps take you from nothing to a machine you drive from your own code. A machine is a full virtual computer with its own disk and kernel; your code starts it, runs commands in it and removes it.
An API key
A person signs in once with ix login. Then ix keys create prints a key. The key is shown once, so copy it before you close the terminal. Set it as IX_TOKEN wherever your code runs.
ix login ix keys create my-service --limit 25 export IX_TOKEN="your-key" The SDK
Add the package for your language. All three come from one core and behave the same way.
bun add @indexable/sdk A machine
import { Machine } from "@indexable/sdk"
await using machine = await Machine.template("ix/base", {
name: "first",
})
const result = await machine.execChecked(["hostname"])
console.log(result.stdout)Run it:
bun first.ts Bun runs TypeScript as it is, with no build step. Machine.template returns once the machine answers, so there is nothing to poll.
From here, read about machines, metering and sealing. The API page lists every operation by name.