---
title: "Register new account"
method: POST
path: "/auth/signup"
tags: ["Auth"]
---

# Register new account

`POST /auth/signup`

Creates a client and admin user. Returns JWT immediately.

## Request body

- SignupRequest
  - `accountName` string, required — Unique account name.
  - `fullName` string, required
  - `email` string, email, required — Unique across all users (case-insensitive).
  - `password` string, password, required

## Response `200`

Account created; JWT returned.

- LoginResponse
  - `token` string — JWT access token (15-minute lifetime).
  - `refresh_token` string — Refresh token (7-day lifetime).
  - `refresh_expires_at` string, date-time
  - `client_id` integer
  - `clients` ClientSummary[]
    - `client_id` integer
    - `clientname` string
    - `status` 'active' | 'inactive'
  - `is_parent` boolean
  - `user` UserProfile
    - `id` integer
    - `username` string
    - `email` string, email
    - `full_name` string
    - `role` 'admin' | 'viewer'
    - `client_id` integer
    - `two_factor_enabled` boolean

## Other responses

- `400` — Validation error (duplicate account name or email).

---

[API](https://skmtc.net/netcorecloud/apis/email-api-v6.md) · [All operations](https://skmtc.net/netcorecloud/apis/email-api-v6/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/netcorecloud/email-api-v6/versions/73f83bc2eff8/schema)
