---
title: "Signup Precheck"
method: POST
path: "/auth/signup/precheck"
tags: ["auth"]
---

# Signup Precheck

`POST /auth/signup/precheck`

## Request

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

Check whether an email may sign up, before any Firebase account is created.

The signup page calls this before createUserWithEmailAndPassword so emails
that would be rejected at login never get an orphaned Firebase account
(CARP-428). Mirrors the new-user gate in /auth/login.

## Request body

- SignupPrecheckRequest: Request body for the pre-signup allowlist check. EmailStr (not str): the email is interpolated verbatim into Discord notifications by the user.signup_blocked handler, so free-text input must never reach it.
  - `email` string, email, required

## Response `200`

Successful Response

- SignupPrecheckResponse: Response from the pre-signup allowlist check.
  - `allowed` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/claimkit/apis/claimkit-api.md) - [All operations](https://skmtc.dev/claimkit/apis/claimkit-api/llms.txt) - [OpenAPI document](https://skmtc.dev/claimkit/apis/claimkit-api/revisions/94dc85ba5326?raw)
