---
title: "Start Free"
method: POST
path: "/api/auth/start-free"
---

# Start Free

`POST /api/auth/start-free`

## Request

- Base URL: `https://api.crowelogic.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.crowelogic.com/api/auth/start-free`
- Auth: none declared

Single-call free-tier signup. Creates user + org + workspace + PAT
and returns the raw PAT exactly once. The "Start Free" path on the
landing page calls this; the landing page then displays the PAT and
a "Sign in with API Token" handoff to the VS Code extension.

Idempotency: if email already exists, we return 409 with a hint to
use the magic-link login flow instead. We don't silently issue a new
PAT to a known email because that would let a stranger steal access
to an existing workspace by guessing the address.

## Request body

- StartFreeRequest
  - `email` string, email, required
  - `display_name` string, nullable

## Response `200`

Successful Response

- StartFreeResponse
  - `user_id` string, required
  - `email` string, required
  - `workspace_id` string, required
  - `api_key` string, required
  - `plan_id` string
  - `next_steps` string[], required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry.md) · [All operations](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry/llms.txt) · [OpenAPI document](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry/revisions/a3c1ef17f171?raw)
