---
title: "Register a new user"
method: POST
path: "/api/custom-auth/signup"
tags: ["auth"]
---

# Register a new user

`POST /api/custom-auth/signup`

## Request

- Base URL: `https://localhost:8080`
- URL: `https://localhost:8080/api/custom-auth/signup`
- Auth: none declared

Creates a new user account and returns user data with session token

## Request body

- CustomSignUpDto
  - `name` string, required: User full name
  - `email` string, required: User email address (case-sensitive)
  - `password` string, required: User password (minimum 8 characters)

## Response `201`

User successfully registered

- AuthResponseDto
  - `user` AuthUserDto, required
    - `id` string, required: User ID
    - `name` string, required: User full name
    - `email` string, required: User email address
    - `emailVerified` boolean, required: Whether email is verified
    - `firstName` string: User first name
    - `lastName` string: User last name
    - `createdAt` string, date-time, required: Account creation date
    - `updatedAt` string, date-time, required: Last update date
  - `session` AuthSessionDto, required
    - `id` string, required: Session ID
    - `token` string, required: Session token
    - `expiresAt` string, date-time, required: Token expiration date
    - `userId` string, required: User ID

## Other responses

- `400`: Invalid input data
- `409`: User already exists

---

[API](https://skmtc.dev/opencase/apis/opencase-backend-api.md) · [All operations](https://skmtc.dev/opencase/apis/opencase-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/opencase/apis/opencase-backend-api/revisions/c66ef2d8dc00?raw)
