---
title: "Create an anonymous account (no auth, no e-mail, no KYC)"
method: POST
path: "/account/bootstrap"
tags: ["Account"]
---

# Create an anonymous account (no auth, no e-mail, no KYC)

`POST /account/bootstrap`

## Request

- Base URL: `https://api.imprezahost.com/v1`
- URL: `https://api.imprezahost.com/v1/account/bootstrap`
- Auth: none required

The one **unauthenticated** endpoint in this API. Creates a brand-new
Impreza account with no e-mail address and no personal data, and
returns a working credential set in the same response — so an AI agent
can onboard itself, fund the balance in crypto, and provision, with no
human in the loop.

The account is inert until funded: it starts at zero balance and can
provision nothing. `account_id` is an `@anon.imprezahost.com` handle
that doubles as the clientarea login, and `recovery_code` is shown
**once** and is the only way to reset the password without e-mail —
store it before discarding the response.

Abuse-gated by a per-IP throttle plus a daily per-IP cap, and gated
overall by an operator switch: when bootstrap is disabled the endpoint
answers `403`. Pass `idempotency_key` so a retried call returns the
same account instead of creating a second one.

## Request body

- object
  - `label` string: Optional label stored on the account and its credential (e.g. your agent name).
  - `scopes` string[]: Narrow the minted credential. Omit for the full set — an agent that only deploys does not need `manage`.
  - `want_mcp_token` boolean: Also mint an MCP bearer token for reconnecting to the remote MCP server.
  - `idempotency_key` string: Unique string so a retried call does not create a second account.

## Response `200`

Account created. Every secret here is shown once.

- object
  - `success` boolean
  - `data` object
    - `account_id` string
    - `api_key` string
    - `api_secret` string: Shown once. Not recoverable.
    - `mcp_token` string: Bearer for the remote MCP server. Present unless `want_mcp_token` was false.
    - `recovery_code` string: Shown once. The only e-mail-less password reset.
  - `meta` Meta
    - `request_id` string
    - `timestamp` string, date-time

## Other responses

- `403`: Bootstrap is disabled by the operator
- `429`: Per-IP throttle or daily per-IP cap reached

---

[API](https://skmtc.dev/imprezahost/apis/impreza-host-public-api.md) · [All operations](https://skmtc.dev/imprezahost/apis/impreza-host-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/imprezahost/apis/impreza-host-public-api/revisions/db86511f604f?raw)
