---
title: "Userportal Signup"
method: POST
path: "/userportal/signup"
tags: ["userportal-public"]
---

# Userportal Signup

`POST /userportal/signup`

## Request

- Base URL: `https://api.feedback1.ai/api/v1`
- URL: `https://api.feedback1.ai/api/v1/userportal/signup`
- Auth: none declared

Sign up for userportal with email and password.

Creates a new CRM contact and optionally requires email verification.

## Query parameters

- `access` string, nullable: Access token for token-protected roadmaps

## Headers

- `F1-Product` string

## Request body

- UserportalSignupRequest: Request to sign up for userportal.
  - `email` string, required: User's email address
  - `password` string, required: User's password
  - `firstName` string, nullable: User's first name
  - `lastName` string, nullable: User's last name

## Response `200`

Successful Response

- UserportalAuthResponse: Response for successful authentication.
  - `success` boolean, required: Whether authentication succeeded
  - `session_token` string, nullable: Session token for authenticated access
  - `expires_at` string, date-time, nullable: When the session expires
  - `user` UserportalUser: User info returned from authentication.
    - `id` string, required: Contact ID
    - `email` string, required: User's email
    - `firstName` string, nullable: User's first name
    - `lastName` string, nullable: User's last name
    - `avatarUrl` string, nullable: User's avatar URL
    - `authProvider` string, nullable: Authentication provider
    - `hideNameOnUserportal` boolean: Hide name from public portal users
  - `message` string, nullable: Error or info message

## Other responses

- `422`: Validation Error

---

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