Skip to main content

UserDto (Response)

The User object returned by the API contains the following fields:
id
string (UUID)
required
Unique identifier for the userExample: 0f4df2de-fffb-4a24-9891-381ecf4f0f87
username
string
required
Unique username for the user accountExample: jdoe
email
string
required
Email address of the userExample: jdoe@example.com
firstName
string
required
User’s first nameExample: John
lastName
string
required
User’s last nameExample: Doe
role
UserRole
required
User’s role in the system. See UserRole for possible values.Example: USER
active
boolean
required
Whether the user account is activeExample: true
createdAt
string (ISO 8601 DateTime)
required
Timestamp when the user was createdExample: 2024-01-15T10:30:00
updatedAt
string (ISO 8601 DateTime)
required
Timestamp when the user was last updatedExample: 2024-01-15T10:30:00

Example Response

{
  "id": "0f4df2de-fffb-4a24-9891-381ecf4f0f87",
  "username": "jdoe",
  "email": "jdoe@example.com",
  "firstName": "John",
  "lastName": "Doe",
  "role": "USER",
  "active": true,
  "createdAt": "2024-01-15T10:30:00",
  "updatedAt": "2024-01-15T10:30:00"
}

RegisterUserDto (Request)

Payload for registering a new user via POST /api/users:
username
string
required
Unique username for the new userValidation:
  • Required (cannot be blank)
  • Length: 3-50 characters
Example: jdoe
email
string
required
Email address for the new userValidation:
  • Required (cannot be blank)
  • Must be a valid email format
Example: jdoe@example.com
firstName
string
required
User’s first nameValidation:
  • Required (cannot be blank)
  • Maximum length: 100 characters
Example: John
lastName
string
required
User’s last nameValidation:
  • Required (cannot be blank)
  • Maximum length: 100 characters
Example: Doe
role
UserRole
required
Role to assign to the new userValidation:
  • Required (cannot be null)
  • Must be one of: ADMIN, USER, GUEST
Example: USER

Example Request

{
  "username": "jdoe",
  "email": "jdoe@example.com",
  "firstName": "John",
  "lastName": "Doe",
  "role": "USER"
}

EditUserDto (Request)

Payload for updating an existing user via PUT /api/users/{id}:
The username field is immutable after user creation and cannot be updated.
email
string
required
Updated email address for the userValidation:
  • Required (cannot be blank)
  • Must be a valid email format
Example: jdoe@example.com
firstName
string
required
Updated first nameValidation:
  • Required (cannot be blank)
  • Maximum length: 100 characters
Example: John
lastName
string
required
Updated last nameValidation:
  • Required (cannot be blank)
  • Maximum length: 100 characters
Example: Doe
role
UserRole
required
Updated role for the userValidation:
  • Required (cannot be null)
  • Must be one of: ADMIN, USER, GUEST
Example: USER
active
boolean
required
Whether the user account should be activeExample: true

Example Request

{
  "email": "john.doe@example.com",
  "firstName": "John",
  "lastName": "Doe",
  "role": "ADMIN",
  "active": true
}

Build docs developers (and LLMs) love