---
title: "Check an Email for Registration"
method: POST
path: "/v2/register-temp/check-email"
tags: ["register-temp"]
---

# Check an Email for Registration

`POST /v2/register-temp/check-email`

## Request

- Base URL: `https://api.stuut.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stuut.ai/v2/register-temp/check-email`
- Auth: HTTP bearer

Reports whether an email can start a new registration — well-formed, a work
(non-public) domain, and not already registered. Returns the failure as a
structured ``reason`` rather than an error, for inline form validation.

## Request body

- CheckEmailRequest: Check whether an email can start registration. Takes a plain string (not the validated Email type) so a malformed or public-domain address comes back as a structured result rather than a 422 validation error.
  - `email` string, required: The email to check.

## Response `200`

Successful Response

- CheckEmailResponse: Whether an email is usable for a new self-service registration.
  - `valid` boolean, required: True if the email can begin registration.
  - `reason` 'invalid_email' | 'alias_not_allowed' | 'public_domain' | 'blacklisted' | 'already_registered' | 'existing_tenant', nullable, required: Why the email is unusable, when valid is false; null when valid.

## Other responses

- `422`: Validation Error

---

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