---
title: "Verify an Emailed Code"
method: POST
path: "/v2/register-temp/verify-email"
tags: ["register-temp"]
---

# Verify an Emailed Code

`POST /v2/register-temp/verify-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/verify-email`
- Auth: HTTP bearer

Confirms the code and returns a short-lived registration token plus prefill
suggestions (organization display name / name) for the registration form.

## Request body

- VerifyEmailRequest: Confirm the emailed code and receive a registration token.
  - `email` string, required
  - `code` string, required: The verification code from the email.

## Response `200`

Successful Response

- RegistrationTokenResponse: A short-lived token proving a verified identity, plus prefill suggestions for the registration form. Pass the token (and the final org/profile details) to ``/register``.
  - `registration_token` string, required: Opaque token to pass to /register.
  - `email` string, required: The verified email address.
  - `given_name` string, nullable, required: Suggested given name (from the IdP for oauth; null for email/password).
  - `family_name` string, nullable, required: Suggested family name (from the IdP for oauth; null for email/password).
  - `suggested_organization` OrganizationSuggestion, required: Prefill values for the registration form, derived from the verified email's domain and brand intelligence.
    - `display_name` string, nullable, required: Suggested organization display name.
    - `name` string, nullable, required: Suggested (deduped) unique tenant identifier.
    - `logo_url` string, nullable, required: Suggested brand logo URL, if one was found.
  - `joinable_organization` JoinableOrg, required: An existing organization the verified email can join instead of (or in addition to) founding a new one — either via a pending invite or because the org auto-provisions the email's domain. Surfaced so the frontend can offer 'join organization vs. create new'.
    - `organization_id` string, required: ID of the joinable org — pass as `organization` to /register to join it (the email is already verified, so this fully identifies eligibility).
    - `organization_name` string, required: Display name of the organization.
    - `organization_logo_url` string, nullable, required: Logo of the organization, if it has one.

## 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/ff0ad16a55ff?raw)
