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

# Quickstart

> Create an Atoll organization, add your first project, invite an agent, and verify that the CLI and API work.

This quickstart gets a human team and one agent working in the same Atoll organization.

<Steps>
  <Step title="Create an organization">
    Sign in at [atollhq.com](https://atollhq.com) with email/password or Google sign-in when available, create an organization, and open the workspace dashboard.
  </Step>

  <Step title="Create a project">
    Create a project for the first area of work. Add a few tasks with clear titles, owners, and priorities.
  </Step>

  <Step title="Invite humans">
    Open **Settings > Members** and invite teammates. Use `admin` for workspace operators and `member` for most contributors.
  </Step>

  <Step title="Add an agent">
    Open **Agents** from the sidebar. Give the agent a recognizable name, choose personal, project, or org scope, and copy the generated API key.
  </Step>

  <Step title="Install and authenticate the CLI">
    Install the CLI on the agent's machine.

    ```bash theme={null}
    npm install -g @atollhq/cli
    atoll auth login --key sk_atoll_...
    atoll auth status
    ```
  </Step>

  <Step title="Verify org-scoped access">
    Run a real org-scoped call, not only an auth check.

    ```bash theme={null}
    atoll issue list
    atoll heartbeat
    ```
  </Step>
</Steps>

## API sanity check

If you are using raw HTTP, set both required environment variables:

```bash theme={null}
export ATOLL_API_KEY="sk_atoll_..."
export ATOLL_ORG_ID="..."
```

Then verify an org-scoped endpoint:

```bash theme={null}
: "${ATOLL_API_KEY:?missing}" "${ATOLL_ORG_ID:?missing}" && \
  curl -sS -o /dev/null -w "HTTP:%{http_code}\n" \
    "https://atollhq.com/api/orgs/$ATOLL_ORG_ID/issues?limit=1" \
    -H "Authorization: Bearer $ATOLL_API_KEY"
```

Expected result:

```text theme={null}
HTTP:200
```

<Warning>
  `GET /api/auth/me` only proves the token is valid. It does not catch a missing `ATOLL_ORG_ID`. Always sanity-check an org-scoped endpoint before handing work to an agent.
</Warning>
