---
title: "Create a new User"
method: POST
path: "/api/v1/auth/signup"
tags: ["Authentication"]
---

# Create a new User

`POST /api/v1/auth/signup`

This endpoint creates a new `User` associating it with the provided email address.

## Request body

- object
  - `authEmail` string, email, required — Email address for the new user
  - `otp` string — One-time password for email verification (optional during transition period)
  - `marketingCampaign` string — Marketing campaign identifier
  - `partnerId` string — Optional ID of the partner that referred the user

## Response `201`

User was created successfully

- object
  - `id` string, required — Unique identifier of the created user
  - `token` string, required — JWT token for authentication
  - `hasSignedUp` boolean, required — Indicates if the user has completed signup

## Other responses

- `400` — Invalid partner ID
- `401` — Invalid or expired OTP
- `409` — Email address or wallet address already registered
- `422` — Invalid request body
- `500` — Internal server error

---

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