---
title: "Sign up user with email verification (V2)"
method: POST
path: "/internal/api/auth/v2/signup"
tags: ["USERS"]
---

# Sign up user with email verification (V2)

`POST /internal/api/auth/v2/signup`

## Request

- Base URL: `https://api.signalshq.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.signalshq.io/internal/api/auth/v2/signup`
- Auth: none declared

Create a new user account with email verification requirement.

    The system will:
    1. Validate input and create user
    2. Create tenant for the user
    3. Send verification OTP to email
    4. Return user details (no access token yet)

    User must verify email with OTP before accessing the account.

## Request body

- UserSignupRequest
  - `email` string, email, required
  - `password` string, required
  - `name` string, required
  - `recaptcha_token` string, nullable: Google reCAPTCHA token (v3 or v2)
  - `recaptcha_version` 'v2' | 'v3'

## Response `201`

User created - verification required

- UserSignUpResponseV2: New signup response - simplified for OTP verification flow
  - `user_details` UserDetails, required
    - `id` string
    - `email` string, email, nullable
    - `name` string, nullable
    - `status` string, nullable
  - `message` string, required: Message about the signup status
  - `requires_verification` boolean, required: Whether email verification is required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/signalshq/apis/signals-api.md) - [All operations](https://skmtc.dev/signalshq/apis/signals-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signalshq/apis/signals-api/revisions/2c22af3b5576?raw)
