---
title: "Sign Up 📝"
method: POST
path: "/api/v1/user/signup"
tags: ["User"]
---

# Sign Up 📝

`POST /api/v1/user/signup`

Register a new user account

## Request body

- UserSignUpDTO
  - `firstName` string, nullable
  - `lastName` string, nullable
  - `username` string, nullable
  - `email` string, email, required
  - `password` string, required
  - `role` 'SUPERUSER' | 'USER' | 'MEDIA_BUYER' | 'AFFILIATE'
  - `referralCode` string, nullable

## Response `201`

Access and refresh tokens

- TokenResponse
  - `access_token` string, required
  - `refresh_token` string, required

## Other responses

- `400` — The request is invalid.
- `422` — Validation error. Please check your input.

---

[API](https://skmtc.dev/pwapps/apis/curie-api.md) · [All operations](https://skmtc.dev/pwapps/apis/curie-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pwapps/curie-api/revisions/b0af9064dfef/schema)
