For the complete documentation index, see llms.txt. This page is also available as Markdown.

Users

Introduction

Users are personal or group accounts. They carry a role, a language, profile data, authentication settings, and the identity used by many other resources.

Model Definition

Alias

user

Required Profile Keys

  • profile_picture - Requires a profile picture.

  • street - Requires a street address.

  • zipcode - Requires a postal code.

  • city - Requires a city.

  • email - Requires an email address.

  • phone - Requires a phone number.

  • birthdate - Requires a date of birth.

  • gender - Requires a gender value.

Capabilities

  • Targetables - Users can be selected as explicit targets for supported resources.

  • URL Context - User URLs resolve to access-checked context.

  • Notifications - Personal users can receive in-app, push, and optionally email notifications.

Relations

Key
Relation
Type
Relation Field(s)

language

Belongs to

lang_id

role

Belongs to

role_id

acceptedPolicies

TermsOfUse

Belongs to many

User and terms-of-use IDs

entityPermissions

Morph many

Permission entity type and ID

Computed Properties

  • full_name - The concatenated first and last name.

  • profile_picture_url - The authenticated content URL when a profile picture exists.

  • static_url, url, and url_context - Available through the URL Context capability when selected.

Personal and administrative fields are only returned when the authenticated user has the corresponding permissions.

List

List visible Users.

Definition

GET /api/users

Request Keys

Key
Type
Default
Description

selects

string

All visible fields

Comma-separated fields to return.

relations

string

Default relations

Pipe-separated relations to include.

limit

integer

No limit

Maximum number of users.

filter

object

No filters

Filters, including filter[text].

Example Request

Example Response

List Deleted Users

List soft-deleted Users.

Definition

GET /api/users/deleted

Request Keys

Key
Type
Default
Description

selects

string

All visible fields

Comma-separated fields to return.

relations

string

Default relations

Pipe-separated relations to include.

limit

integer

No limit

Maximum number of deleted users.

Example Request

Example Response

Show Current User

Show the current authenticated User.

Definition

GET /api/users/current

Example Request

Example Response

Show

Show one visible User.

Definition

GET /api/users/{userWithTrashed}

Route Parameters

Parameter
Type
Description

userWithTrashed

integer

User ID; deleted users are included.

Request Keys

Key
Type
Default
Description

selects

string

All visible fields

Comma-separated fields to return.

relations

string

Default relations

Pipe-separated relations to include.

Example Request

Example Response

Show Profile Picture

Return the stored profile picture for one User.

Definition

GET /users/{user}/profile-picture/{fileName?}

Route Parameters

Parameter
Type
Description

user

integer

User ID.

fileName

string

Optional stable filename; defaults to the stored filename.

Behavior

This authenticated content route returns the stored profile-picture bytes with their detected media type. It is not prefixed with /api.

Example Request

Example Response

Download Import Template

Download the CSV import template for Users.

Definition

GET /api/users/import-template

Request Keys

Key
Type
Default
Description

CSV-importable User key

string

Field key

Optional query value replacing that column's header.

Behavior

The example keeps the default English field keys.

Example Request

Example Response

Create

Create a new User.

Definition

POST /api/users

Request Keys

Key
Type
Default
Description

username*

string

-

Unique username.

password*

string

-

Password satisfying the configured minimum length.

first_name*

string

-

Required for personal accounts.

last_name*

string

-

Required for personal accounts.

role_id*

integer

-

Existing Role ID.

lang_id

string | null

null

Language ID; use en-US for US English.

active

boolean

Date-derived or true

Whether the user can log in.

group_account

boolean

false

Whether this is a shared group account.

request_password_change

boolean

false

Require a password change on the next login.

profile_picture

image | null

null

Uploaded image; use multipart data when provided.

street, zipcode, city, phone, staff_number

string | null

null

Optional profile fields.

email

string | null

null

Optional valid email address.

birthdate, entering_date, leaving_date

date | null

null

Optional dates.

gender

string | null

null

Supported gender enum value.

wants_email_notifications

boolean

false

Enable email notification delivery.

default_route

string | null

null

Route opened after login.

prevent_logout

boolean

false

Protect the account from self-logout and session replacement; only another administrator may change this value.

Keys with * are required.

Example Request

Example Response

Parse CSV Import

Parse a CSV import for Users.

Definition

POST /api/users/csv

Request Keys

Key
Type
Default
Description

user_data_csv*

CSV file

-

CSV with a header row matching importable User keys.

update_users

boolean

false

Include matching active users in update_users.

delete_users

boolean

false

Include users absent from the CSV in delete_users.

whitespace_to_null

boolean

false

Convert blank nullable fields to null.

Importable User keys

string

Field key

Optional multipart values remapping CSV headers.

Keys with * are required.

Behavior

The endpoint parses and classifies rows; it does not persist the proposed changes. The uploaded example CSV contains one new US-English user and one existing user update, which produces the two populated response groups.

Example Request

Example Response

Update

Update an existing User.

Definition

PUT /api/users/{user}

Route Parameters

Parameter
Type
Description

user

integer

User ID.

Request Keys

Key
Type
Default
Description

Any Create key

mixed

Current value

Every Create key is optional during updates.

old_password

string

-

Current password when changing one's own password without user-administration permission.

Behavior

  • Sending profile_picture as null removes the current image.

  • A user cannot change their own prevent_logout value. The submitted key is ignored even when that user can administer other users.

Example Request

Example Response

Log Out

Log out one User.

Definition

POST /api/users/logout/{user}

Route Parameters

Parameter
Type
Description

user

integer

User ID to mark for logout.

Behavior

  • The user is marked for logout. Existing sessions are rejected when they next pass the logout check.

  • A protected user cannot use this endpoint to mark their own account for logout. Another authorized user can mark a protected account for administrative logout.

Example Request

Example Response

Restore

Restore one soft-deleted User.

Definition

POST /api/users/restore/{userWithTrashed}

Route Parameters

Parameter
Type
Description

userWithTrashed

integer

Deleted User ID.

Request Keys

Key
Type
Default
Description

role_id

integer

Existing role

Optional active Role assigned after restoration.

Example Request

Example Response

Delete

Soft-delete an existing User.

Definition

DELETE /api/users/{user}

Route Parameters

Parameter
Type
Description

user

integer

User ID.

Behavior

The user is soft-deleted and can be restored later. The authenticated user cannot delete themselves.

Example Request

Example Response

Black Out

Permanently anonymize one User.

Definition

DELETE /api/users/blackout/{userWithTrashed}

Route Parameters

Parameter
Type
Description

userWithTrashed

integer

Active or deleted User ID.

Behavior

The user is deleted if necessary and personally identifying fields are irreversibly replaced or cleared while authored content remains associated with the anonymized account.

Example Request

Example Response

Last updated