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

# Signup

`POST /auth/signup`

Create a new account and receive a read-only API key.

A 6-digit verification code is sent to the provided email. Call
POST /v2/auth/verify with the code (and this key in the Authorization
header) to upgrade to full access.

## Request body

- SignupRequest
  - `email` string, required — User email address
  - `password` string, nullable — Optional password for web login (random if omitted)
  - `first_name` string, nullable
  - `last_name` string, nullable
  - `organization_name` string, required — Organization name (required — all API keys are org-scoped)
  - `idempotency_key` string, nullable — Idempotency key for safe retries

## Response `200`

Successful Response

- SignupResponse
  - `api_key` string, required — Read-only API key — verify via POST /v2/auth/verify to unlock full access
  - `api_key_id` string, required
  - `user_id` string, required
  - `organization_id` string, required
  - `verified` boolean — Whether the account has been verified (always false on signup)

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/trynia/apis/nia-ai-api.md) · [All operations](https://skmtc.net/trynia/apis/nia-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/trynia/nia-ai-api/versions/d216ffc3efb6/schema)
