# Start without an account

An agent can have an Apache Iceberg catalog it can write, in Germany, in a few seconds, before anyone signs up. A person
keeps it later; if nobody does, it is deleted with its data after 72 hours.

If you are a person: give your coding agent (Claude Code, Codex, Cursor) this page,
`https://lakehousebox.com/new.md`, and ask it to start a catalog for your data. It gives you a link and a code only if
the data is worth keeping; claimed, the catalog is yours on the free plan (5 GB).

## With the CLI

```sh
curl -fsSL https://lakehousebox.com/install.sh | sh      # one Python 3 file, no dependencies
lhbox new                                              # a catalog named lakehouse, write access; the key is saved, never shown
lhbox duckdb                                           # DuckDB 1.5.5+ with the catalog attached: CREATE TABLE works
lhbox status                                           # the time left before it is deleted
lhbox claim                                            # when the person is there: a link and a code for them
lhbox claim --resume --wait                            # after they approve: this machine's new key, saved in place
```

## Without the CLI

```sh
curl -X POST https://api.lakehousebox.com/v1/agent/identity
```

No body, no key. The answer carries `api_key` (shown once: keep it out of the conversation), `catalog`, `expires_at`,
`limits`, `how_to_use` and `next`. With the key as the bearer:

- `GET https://api.lakehousebox.com/v1/connection?warehouse_id=<catalog.warehouse_id>&engine=duckdb` is the DuckDB
  recipe (the `ATTACH` block; PyIceberg and Spark: `engine=pyiceberg|spark`).
- `GET https://api.lakehousebox.com/v1/agent/status` says how long is left.
- `POST https://api.lakehousebox.com/v1/agent/identity/claim` starts the claim: `user_code`, `verification_uri_complete`
  and a `device_code`. Send the person the link and the code, then poll `POST https://api.lakehousebox.com/v1/auth/device/token`
  with `{"device_code": …}` every `interval` seconds: `authorization_pending` until they decide, then the new key.

## Until a person claims it

- 1 GB, one catalog, nothing public.
- The key reads, and writes data only: tables, files, queries, AGENTS.md. New keys or tokens, grants, publishing, sinks
  and invitations wait for the claim (`403 claim_required`).
- Deleted with its data 72 hours after it was made, with no notice.
- At most 5 such catalogs an hour and 20 a day from one network address.
- Sending the request accepts the [Terms of Service](https://lakehousebox.com/legal/terms/) (clause 2.5) and the
  [Acceptable Use Policy](https://lakehousebox.com/legal/aup/) for whoever runs the agent: tell the person.

## The claim

The person opens the link, signs up or logs in, types the code the agent gives them, chooses the organisation that keeps
the catalog, and ticks write if the agent should keep writing. At that moment every key from before the claim stops
working and the catalog's keys are rotated; the agent's waiting poll receives a new key with the access the person chose.
From then on it is an ordinary catalog of their organisation, on the free plan (5 GB).

More: [the agent setup guide](https://lakehousebox.com/docs/agent-setup/) (section 2b), [auth.md](https://lakehousebox.com/auth.md).
