> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aireserve.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Quote an H100, launch it with SSH access, inspect the connection, and terminate it safely.

This walkthrough uses the `aireserve` CLI because it already covers the full
quote, launch, connection, and cleanup flow. You will create one GPU instance
with an ephemeral root disk and no persistent storage.

## Before you begin

You need:

* an organization API key with **Compute: Manage** access;
* an enabled, funded organization wallet;
* an SSH public key, such as `~/.ssh/id_ed25519.pub`;
* `jq`, which the steps below use to read IDs out of the CLI's output.

Your API key is the only value you type. Every other ID is captured into a
shell variable by the step that produces it.

**1. Install the CLI**

```bash theme={"dark"}
curl -fsSL https://get.aireserve.com/install.sh | sh -s -- --no-configure
```

**2. Export a Compute-enabled API key**

Create the key on the [API Keys page](https://portal.aireserve.com/keys). Keep it out of shell history and source control.

```bash theme={"dark"}
export AIRESERVE_API_KEY="aireserve_api_..."
```

**3. Request a quote**

```bash theme={"dark"}
aireserve gpu instances quote --accelerator H100_80GB
```

The quote creates nothing. It reports the selected normalized region, the running price, the price after stop, and a
short-lived quote ID.

```text theme={"dark"}
Quote ID:        <quote-id>   (expires in 120s)
Accelerator:     1 x H100_80GB    region: united_states
Running price:   $<total>/hr   = GPU $<gpu> + root disk 50 GiB $<disk>
After stop:      $0.00/hr   (nothing persists; nothing bills)
Storage:         root 50 GiB ephemeral only
```

Capture the ID for the next step. The CLI prints JSON whenever its output is not a terminal, so nothing is
copied by hand. Quotes expire after 120 seconds, so launch right away.

```bash theme={"dark"}
export QUOTE_ID=$(aireserve gpu instances quote --accelerator H100_80GB | jq -r .quoteId)
echo "QUOTE_ID=$QUOTE_ID"
```

**4. Launch and wait for SSH**

```bash theme={"dark"}
LAUNCHED=$(aireserve gpu instances launch \
  --quote-id "$QUOTE_ID" \
  --ssh-public-key-file ~/.ssh/id_ed25519.pub \
  --wait)
export INSTANCE_ID=$(jq -r .resourceId <<<"$LAUNCHED")
echo "INSTANCE_ID=$INSTANCE_ID"
```

`--wait` polls the durable operation until it reaches a terminal state, usually a minute or two, then returns the
instance and its connection details. If `INSTANCE_ID` prints `null`, the launch was refused: run
`jq . <<<"$LAUNCHED"` to read why. If the quote expired or the price moved, request a fresh quote and launch again.

**5. Connect**

```bash theme={"dark"}
aireserve gpu instances connections "$INSTANCE_ID"
```

Run the SSH command returned by the CLI. AI Reserve receives only the public key; your private key remains on your
machine.

**6. Terminate when finished**

```bash theme={"dark"}
aireserve gpu instances terminate "$INSTANCE_ID" --yes --wait
```

Termination releases the GPU and destroys the ephemeral root disk. It does not delete an attached persistent volume.

The quickstart uses one `H100_80GB`, any eligible normalized region, the
maintained PyTorch/CUDA image, a 50 GiB ephemeral root disk, and SSH only. The
quote is a price and placement decision—not a capacity reservation—so launch
rechecks current price and availability.

## Keep files between runs

Add a persistent volume to the quote when checkpoints, datasets, or outputs
must survive stop and termination:

```bash theme={"dark"}
aireserve gpu instances quote \
  --accelerator H100_80GB \
  --persistent-gb 500 \
  --mount-path /workspace
```

The quote shows both the total running price and the storage-only rate that
continues after the instance stops or terminates. Continue with [Storage and
persistence](/gpu-infrastructure/storage) before launching important data.

## Prefer direct REST?

The same flow is available through:

1. `POST /v1/gpu/instances/quote`
2. `POST /v1/gpu/instances` with an `Idempotency-Key`
3. `GET /v1/gpu/operations/{operationId}` until terminal
4. `GET /v1/gpu/instances/{instanceId}/connections`

Use the generated [API Reference](/api-reference) for exact wire schemas.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.