---
title: "Verify email and create the self-serve workspace"
method: POST
path: "/credits/auth/signup/confirm"
tags: ["Authentication"]
---

# Verify email and create the self-serve workspace

`POST /credits/auth/signup/confirm`

## Request

- Base URL: `https://api.paywithlocus.com/api`
- URL: `https://api.paywithlocus.com/api/credits/auth/signup/confirm`
- Auth: none required

Confirms the email, proves knowledge of the chosen password, and atomically provisions one owner workspace tied to the Cognito subject. Replays return that same workspace. The workspace starts with exactly $0 and receives no free or promotional credits.

## Request body

- object
  - `email` string, email, required
  - `code` string, required
  - `password` string, password, required
  - `workspaceName` string: Optional account name. Defaults to the part of the email before the @.

## Response `200`

Replay returned the already-provisioned workspace

## Other responses

- `201`: Workspace created; returns dashboard tokens or an MFA challenge, plus tenantId
- `400`: Invalid or expired verification code or invalid fields
- `401`: The password does not match the confirmed identity
- `403`: Email is not verified
- `429`: Verification rate limit exceeded

---

[API](https://skmtc.dev/paywithlocus/apis/locus-pro-api.md) - [All operations](https://skmtc.dev/paywithlocus/apis/locus-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paywithlocus/apis/locus-pro-api/revisions/aab8fa5d6cef?raw)
