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

# Quickstart

> Connect to AIRCTRL and list the projects you can access.

export function AirctrlWordmark() {
  return <span className="airctrl-wordmark" aria-label="AIRCTRL">
      <span aria-hidden="true" className="airctrl-wordmark-air">AIR</span>
      <span aria-hidden="true" className="airctrl-wordmark-ctrl">CTRL</span>
    </span>;
}

This guide makes one safe, read-only request. You will list your <AirctrlWordmark /> accounts, choose one, and list its projects.

## Before you start

You need:

* An <AirctrlWordmark /> account.
* A Personal Access Token created in **Settings > Access tokens**.
* The API URL for your <AirctrlWordmark /> environment.

The token authenticates you. It does not decrypt records. Your vault passphrase is only needed when you read or change encrypted record values.

## API

Keep credentials in environment variables instead of command history.

```bash theme={}
export AIRCTRL_API_URL="https://api.airctrl.dev"
export AIRCTRL_TOKEN="<personal-access-token>"
```

List the accounts you can access:

```bash theme={}
curl --request GET \
  --url "$AIRCTRL_API_URL/v1/accounts" \
  --header "Authorization: Bearer $AIRCTRL_TOKEN"
```

A successful request uses the standard <AirctrlWordmark /> envelope:

```json theme={}
{
  "ok": true,
  "data": [
    {
      "account_id": "00000000-0000-4000-8000-000000000001",
      "name": "Example account",
      "role": "Member"
    }
  ]
}
```

Save the account ID, then list its projects:

```bash theme={}
export AIRCTRL_ACCOUNT_ID="00000000-0000-4000-8000-000000000001"

curl --request GET \
  --url "$AIRCTRL_API_URL/v1/projects" \
  --header "Authorization: Bearer $AIRCTRL_TOKEN" \
  --header "x-account-id: $AIRCTRL_ACCOUNT_ID"
```

## SDK

Install the package:

```bash theme={}
npm install @airctrl/sdk
```

```ts theme={}
import { createClient } from '@airctrl/sdk'

const airctrl = createClient({
  baseUrl: process.env.AIRCTRL_API_URL!,
  auth: process.env.AIRCTRL_TOKEN!,
})

const accounts = await airctrl.listAccounts()
const account = accounts[0]

if (!account) throw new Error('No AIRCTRL account is available')

const projects = await airctrl.listProjects({
  accountId: account.account_id,
})

console.log(projects)
```

## CLI

```bash theme={}
npm install --global @airctrl/cli
airctrl login
airctrl project accounts
airctrl project list --account 00000000-0000-4000-8000-000000000001
```

`airctrl login` stores the API URL, your PAT, and an optional default project in `~/.airctrl/config.json`.

## MCP

Add `@airctrl/mcp` to your MCP client, then ask your agent:

> Use <AirctrlWordmark /> to list my accounts. Then list the projects in account `00000000-0000-4000-8000-000000000001`.

The agent calls `list_accounts`, followed by `list_projects`. See [MCP setup](/mcp/setup) for the full configuration.

## Next steps

* [Combine <AirctrlWordmark /> tools](/guides/tool-workflows)
* [Understand authentication](/getting-started/authentication)
* [Work with projects](/guides/projects)
* [Read and inject records](/guides/records)
* [Handle errors](/reference/errors)
