---
title: "Signup User"
method: POST
path: "/api/v1/auth/signup"
tags: ["Authentication"]
---

# Signup User

`POST /api/v1/auth/signup`

## Request

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

Sign up new user account only (no automatic API key creation).

Flow:
1. Validate OAuth token and extract email (required)
2. Check if user already exists (by email from token)
3. Create user record if new
4. Return account status

Track A Context:
- Free tier: 1,000 tasks, Tier 1 APIs only
- Starter tier: 2,000 tasks, Tier 1+2 APIs (requires payment)
- Pro tier: 5,000 tasks, all APIs with async (requires payment)

Security:
- Email is extracted from validated OAuth token (not trusted from request body)
- OAuth token is validated by get_current_user_email dependency

## Headers

- `Authorization` string, nullable

## Request body

- UserSignupRequest: User signup request. For OAuth-authenticated signups, email is extracted from validated token. Request body is optional and used only for additional metadata.
  - `email` string, nullable: User email (ignored - using OAuth token)
  - `name` string, nullable: User display name
  - `tier` 'demo' | 'free' | 'starter' | 'professional' | 'enterprise' | 'government': API access tiers with associated limits.

## Response `201`

Successful Response

- UserSignupResponse: Signup response without automatic API key creation.
  - `user_id` string, uuid, required
  - `email` string, required
  - `account_created` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/bellatorsi/apis/bellator-schedule-intelligence-apis.md) · [All operations](https://skmtc.dev/bellatorsi/apis/bellator-schedule-intelligence-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/bellatorsi/apis/bellator-schedule-intelligence-apis/revisions/03e7b786e43b?raw)
