Skip to content

Users

A User represents an individual person's account within the system. It is the primary entity for authentication and identity.

A User object on its own has limited capabilities beyond logging in and managing personal details like SSH keys. Its power comes from the roles and permissions it is granted within the scope of a Customer or Project.

User vs. Permissions

It is crucial to distinguish between the User entity and its permissions. The User API allows for managing the account itself (e.g., name, email), while team management is handled through the add_user actions on the Customer and Project endpoints.

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/users/ List Users
GET /api/users/{uuid}/ Retrieve
POST /api/users/ Create
POST /api/users/{uuid}/pull_remote_user/ Synchronize user details from eduTEAMS
POST /api/users/{uuid}/update_actions/ Recalculate user actions for a specific user
PUT /api/users/{uuid}/ Update
PATCH /api/users/{uuid}/ Partial Update
DELETE /api/users/{uuid}/ Delete
Other Actions
GET /api/users/{uuid}/data_access_history/ Get user data access history
GET /api/users/{uuid}/data_access/ Get user data access visibility
GET /api/users/{uuid}/history/at/ Get object state at a specific timestamp
GET /api/users/{uuid}/history/ Get version history
GET /api/users/{uuid}/identity_bridge_status/ Get identity bridge status for a user
GET /api/users/me/ Get current user details
GET /api/users/profile_completeness/ Check profile completeness
GET /api/users/{uuid}/token/ Get user auth token
GET /api/users/user_active_status_count/ Get user counts by active status
GET /api/users/user_language_count/ Get user counts by preferred language
GET /api/users/user_registration_trend/ Get user registration trends by month
POST /api/users/{uuid}/cancel_change_email/ Cancel email change request
POST /api/users/{uuid}/change_email/ Request email change
POST /api/users/{uuid}/change_password/ Change user password
POST /api/users/confirm_email/ Confirm email change
POST /api/users/{uuid}/refresh_token/ Refresh user auth token
POST /api/users/{uuid}/remove_password/ Remove user password
POST /api/users/scim_sync_all/ Trigger SCIM synchronization for all users
POST /api/users/{uuid}/send_notification/ Send action notification to a specific user

Core CRUD

List Users

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.marketplace_service_provider_user_o_enum import MarketplaceServiceProviderUserOEnum # (1)
from waldur_api_client.models.user_field_enum import UserFieldEnum # (2)
from waldur_api_client.api.users import users_list # (3)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_list.sync(client=client)

for item in response:
    print(item)
  1. Model Source: MarketplaceServiceProviderUserOEnum
  2. Model Source: UserFieldEnum
  3. API Source: users_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { usersList } from 'waldur-js-client';

try {
  const response = await usersList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
agreement_date string (date-time) Agreement date after
civil_number string
customer_uuid string (uuid) Customer UUID
date_joined string (date-time) Date joined after
description string
email string Email
field array
full_name string Full name
is_active boolean Is active
is_staff boolean Is staff
is_support boolean Is support
job_title string Job title
modified string (date-time) Date modified after
native_name string Native name
o array Ordering

organization string Organization
organization_roles string Organization roles
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
phone_number string
project_roles string Project roles
project_uuid string (uuid) Project UUID
query string Filter by first name, last name, civil number, username or email
registration_method string
user_keyword string User keyword
username string Username (exact)
username_list string Comma-separated usernames

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
url string (uri)
uuid string (uuid)
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
full_name string
native_name string
job_title string
email string (email)
phone_number string
organization string
civil_number string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token string
token_lifetime integer Token lifetime in seconds.
token_expires_at string (date-time)
registration_method string Indicates what registration method was used.
date_joined string (date-time)
agreement_date string (date-time) Indicates when the user has agreed with the policy.
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
permissions array of objects
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.created_by_full_name string
permissions.created_by_username string
permissions.role_name string
permissions.role_description string
permissions.role_uuid string (uuid)
permissions.scope_type string
permissions.scope_uuid string (uuid)
permissions.scope_name string
permissions.customer_uuid string (uuid)
permissions.customer_name string
requested_email string
affiliations any Person's affiliation within organization such as student, faculty, staff.
first_name string
last_name string
birth_date string (date)
identity_provider_name string
identity_provider_label string
identity_provider_management_url string
identity_provider_fields array of strings
image string (uri)
identity_source string Indicates what identity provider was used.
has_active_session boolean
has_usable_password boolean
ip_address string
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
attribute_sources any Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.
active_isds any List of ISDs that have asserted this user exists. User is deactivated when this becomes empty.

Retrieve

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.user_field_enum import UserFieldEnum # (1)
from waldur_api_client.api.users import users_retrieve # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. Model Source: UserFieldEnum
  2. API Source: users_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersRetrieve } from 'waldur-js-client';

try {
  const response = await usersRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type
field array

200 -

Field Type Description
url string (uri)
uuid string (uuid)
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
full_name string
native_name string
job_title string
email string (email)
phone_number string
organization string
civil_number string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token string
token_lifetime integer Token lifetime in seconds.
token_expires_at string (date-time)
registration_method string Indicates what registration method was used.
date_joined string (date-time)
agreement_date string (date-time) Indicates when the user has agreed with the policy.
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
permissions array of objects
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.created_by_full_name string
permissions.created_by_username string
permissions.role_name string
permissions.role_description string
permissions.role_uuid string (uuid)
permissions.scope_type string
permissions.scope_uuid string (uuid)
permissions.scope_name string
permissions.customer_uuid string (uuid)
permissions.customer_name string
requested_email string
affiliations any Person's affiliation within organization such as student, faculty, staff.
first_name string
last_name string
birth_date string (date)
identity_provider_name string
identity_provider_label string
identity_provider_management_url string
identity_provider_fields array of strings
image string (uri)
identity_source string Indicates what identity provider was used.
has_active_session boolean
has_usable_password boolean
ip_address string
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
attribute_sources any Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.
active_isds any List of ISDs that have asserted this user exists. User is deactivated when this becomes empty.

Create

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/users/ \
  Authorization:"Token YOUR_API_TOKEN" \
  username="alice" \
  email="alice@example.com"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.user_request import UserRequest # (1)
from waldur_api_client.api.users import users_create # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = UserRequest(
    username="alice",
    email="alice@example.com"
)
response = users_create.sync(
    client=client,
    body=body_data
)

print(response)
  1. Model Source: UserRequest
  2. API Source: users_create
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import { usersCreate } from 'waldur-js-client';

try {
  const response = await usersCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "username": "alice",
    "email": "alice@example.com"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
native_name string
job_title string
email string (email)
phone_number string
organization string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token_lifetime integer Token lifetime in seconds.
agree_with_policy boolean User must agree with the policy to register.
Constraints: write-only
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
first_name string
last_name string
birth_date string (date)
image string (binary)
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.

201 -

Field Type Description
url string (uri)
uuid string (uuid)
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
full_name string
native_name string
job_title string
email string (email)
phone_number string
organization string
civil_number string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token string
token_lifetime integer Token lifetime in seconds.
token_expires_at string (date-time)
registration_method string Indicates what registration method was used.
date_joined string (date-time)
agreement_date string (date-time) Indicates when the user has agreed with the policy.
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
permissions array of objects
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.created_by_full_name string
permissions.created_by_username string
permissions.role_name string
permissions.role_description string
permissions.role_uuid string (uuid)
permissions.scope_type string
permissions.scope_uuid string (uuid)
permissions.scope_name string
permissions.customer_uuid string (uuid)
permissions.customer_name string
requested_email string
affiliations any Person's affiliation within organization such as student, faculty, staff.
first_name string
last_name string
birth_date string (date)
identity_provider_name string
identity_provider_label string
identity_provider_management_url string
identity_provider_fields array of strings
image string (uri)
identity_source string Indicates what identity provider was used.
has_active_session boolean
has_usable_password boolean
ip_address string
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
attribute_sources any Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.
active_isds any List of ISDs that have asserted this user exists. User is deactivated when this becomes empty.

Synchronize user details from eduTEAMS

1
2
3
4
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pull_remote_user/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_pull_remote_user # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_pull_remote_user.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_pull_remote_user
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersPullRemoteUser } from 'waldur-js-client';

try {
  const response = await usersPullRemoteUser({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 - No response body


Recalculate user actions for a specific user

Staff-only action to trigger recalculation of user actions for a specific user.

1
2
3
4
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_actions/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.update_actions_request import UpdateActionsRequest # (1)
from waldur_api_client.api.users import users_update_actions # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = UpdateActionsRequest()
response = users_update_actions.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: UpdateActionsRequest
  2. API Source: users_update_actions
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersUpdateActions } from 'waldur-js-client';

try {
  const response = await usersUpdateActions({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
provider_action_type string Optional provider action type to update. If not provided, updates all providers.

202 -

Field Type
status string
message string
provider_action_type string

Update

1
2
3
4
5
6
http \
  PUT \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  username="alice" \
  email="alice@example.com"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.user_request import UserRequest # (1)
from waldur_api_client.api.users import users_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = UserRequest(
    username="alice",
    email="alice@example.com"
)
response = users_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: UserRequest
  2. API Source: users_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import { usersUpdate } from 'waldur-js-client';

try {
  const response = await usersUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "username": "alice",
    "email": "alice@example.com"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
native_name string
job_title string
email string (email)
phone_number string
organization string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token_lifetime integer Token lifetime in seconds.
agree_with_policy boolean User must agree with the policy to register.
Constraints: write-only
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
first_name string
last_name string
birth_date string (date)
image string (binary)
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.

200 -

Field Type Description
url string (uri)
uuid string (uuid)
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
full_name string
native_name string
job_title string
email string (email)
phone_number string
organization string
civil_number string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token string
token_lifetime integer Token lifetime in seconds.
token_expires_at string (date-time)
registration_method string Indicates what registration method was used.
date_joined string (date-time)
agreement_date string (date-time) Indicates when the user has agreed with the policy.
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
permissions array of objects
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.created_by_full_name string
permissions.created_by_username string
permissions.role_name string
permissions.role_description string
permissions.role_uuid string (uuid)
permissions.scope_type string
permissions.scope_uuid string (uuid)
permissions.scope_name string
permissions.customer_uuid string (uuid)
permissions.customer_name string
requested_email string
affiliations any Person's affiliation within organization such as student, faculty, staff.
first_name string
last_name string
birth_date string (date)
identity_provider_name string
identity_provider_label string
identity_provider_management_url string
identity_provider_fields array of strings
image string (uri)
identity_source string Indicates what identity provider was used.
has_active_session boolean
has_usable_password boolean
ip_address string
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
attribute_sources any Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.
active_isds any List of ISDs that have asserted this user exists. User is deactivated when this becomes empty.

Partial Update

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.patched_user_request import PatchedUserRequest # (1)
from waldur_api_client.api.users import users_partial_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = PatchedUserRequest()
response = users_partial_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: PatchedUserRequest
  2. API Source: users_partial_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersPartialUpdate } from 'waldur-js-client';

try {
  const response = await usersPartialUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
native_name string
job_title string
phone_number string
organization string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token_lifetime integer Token lifetime in seconds.
agree_with_policy boolean User must agree with the policy to register.
Constraints: write-only
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
first_name string
last_name string
birth_date string (date)
image string (binary)
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.

200 -

Field Type Description
url string (uri)
uuid string (uuid)
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
full_name string
native_name string
job_title string
email string (email)
phone_number string
organization string
civil_number string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token string
token_lifetime integer Token lifetime in seconds.
token_expires_at string (date-time)
registration_method string Indicates what registration method was used.
date_joined string (date-time)
agreement_date string (date-time) Indicates when the user has agreed with the policy.
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
permissions array of objects
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.created_by_full_name string
permissions.created_by_username string
permissions.role_name string
permissions.role_description string
permissions.role_uuid string (uuid)
permissions.scope_type string
permissions.scope_uuid string (uuid)
permissions.scope_name string
permissions.customer_uuid string (uuid)
permissions.customer_name string
requested_email string
affiliations any Person's affiliation within organization such as student, faculty, staff.
first_name string
last_name string
birth_date string (date)
identity_provider_name string
identity_provider_label string
identity_provider_management_url string
identity_provider_fields array of strings
image string (uri)
identity_source string Indicates what identity provider was used.
has_active_session boolean
has_usable_password boolean
ip_address string
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
attribute_sources any Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.
active_isds any List of ISDs that have asserted this user exists. User is deactivated when this becomes empty.

Delete

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_destroy # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_destroy.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_destroy
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersDestroy } from 'waldur-js-client';

try {
  const response = await usersDestroy({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

204 - No response body


Other Actions

Get user data access history

Shows historical log of who has accessed the user's profile data. Regular users see anonymized accessor categories. Staff/support see full details including accessor identity, IP, and context.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/data_access_history/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.marketplace_service_provider_user_o_enum import MarketplaceServiceProviderUserOEnum # (1)
from waldur_api_client.api.users import users_data_access_history_list # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_data_access_history_list.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

for item in response:
    print(item)
  1. Model Source: MarketplaceServiceProviderUserOEnum
  2. API Source: users_data_access_history_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersDataAccessHistoryList } from 'waldur-js-client';

try {
  const response = await usersDataAccessHistoryList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Description
accessor_type string Filter by accessor type (staff, support, organization_member, self)
agreement_date string (date-time) Agreement date after
civil_number string
customer_uuid string (uuid) Customer UUID
date_joined string (date-time) Date joined after
description string
email string Email
end_date string (date) Filter logs until this date (inclusive)
full_name string Full name
is_active boolean Is active
is_staff boolean Is staff
is_support boolean Is support
job_title string Job title
modified string (date-time) Date modified after
native_name string Native name
o array Ordering

organization string Organization
organization_roles string Organization roles
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
phone_number string
project_roles string Project roles
project_uuid string (uuid) Project UUID
query string Filter by first name, last name, civil number, username or email
registration_method string
start_date string (date) Filter logs from this date (inclusive)
user_keyword string User keyword
username string Username (exact)
username_list string Comma-separated usernames

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
uuid string (uuid)
timestamp string (date-time)
accessor_type string
Enum: staff, support, organization_member, service_provider, self
accessed_fields array of strings
accessor_category string
accessor object
accessor.uuid string (uuid)
accessor.username string
accessor.full_name string
ip_address any An IPv4 or IPv6 address.
context object (free-form)

Get user data access visibility

Shows who has access to the user's profile data. Includes administrative access (staff/support), organizational access (same customer/project), and service provider access (via consent). Regular users see counts for admin access; staff/support see individual records.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/data_access/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_data_access_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_data_access_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_data_access_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersDataAccessRetrieve } from 'waldur-js-client';

try {
  const response = await usersDataAccessRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type
administrative_access object
administrative_access.description string
administrative_access.staff_count integer
administrative_access.support_count integer
administrative_access.users array of objects
administrative_access.users.user_uuid string (uuid)
administrative_access.users.username string
administrative_access.users.full_name string
administrative_access.users.access_type string
organizational_access array of objects
organizational_access.scope_type string
organizational_access.scope_uuid string (uuid)
organizational_access.scope_name string
organizational_access.users array of objects
organizational_access.users.user_uuid string (uuid)
organizational_access.users.username string
organizational_access.users.full_name string
organizational_access.users.role string
service_provider_access array of objects
service_provider_access.offering_uuid string (uuid)
service_provider_access.offering_name string
service_provider_access.provider_name string
service_provider_access.provider_uuid string (uuid)
service_provider_access.exposed_fields array of strings
service_provider_access.consent_date string
service_provider_access.consent_version string
service_provider_access.provider_team array of objects
service_provider_access.provider_team.user_uuid string (uuid)
service_provider_access.provider_team.username string
service_provider_access.provider_team.full_name string
service_provider_access.provider_team.role string
summary object
summary.total_administrative_access integer
summary.total_organizational_access integer
summary.total_provider_access integer

Get object state at a specific timestamp

Returns the state of the object as it was at the specified timestamp. Only accessible by staff and support users.

1
2
3
4
5
http \
  GET \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/history/at/ \
  Authorization:"Token YOUR_API_TOKEN" \
  timestamp=="string-value"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_history_at_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_history_at_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    timestamp="string-value"
)

print(response)
  1. API Source: users_history_at_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { usersHistoryAtRetrieve } from 'waldur-js-client';

try {
  const response = await usersHistoryAtRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  query: {
    "timestamp": "string-value"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Required Description
timestamp string ISO 8601 timestamp to query the object state at

200 -

Field Type Description
id integer Version ID
revision_date string (date-time) When this revision was created
revision_user object (free-form) User who created this revision
revision_comment string Comment describing the revision
serialized_data object (free-form) Serialized model fields at this revision

400 -


404 -


Get version history

Returns the version history for this object. Only accessible by staff and support users.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/history/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.marketplace_service_provider_user_o_enum import MarketplaceServiceProviderUserOEnum # (1)
from waldur_api_client.api.users import users_history_list # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_history_list.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

for item in response:
    print(item)
  1. Model Source: MarketplaceServiceProviderUserOEnum
  2. API Source: users_history_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersHistoryList } from 'waldur-js-client';

try {
  const response = await usersHistoryList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Description
agreement_date string (date-time) Agreement date after
civil_number string
created_after string Filter versions created after this timestamp (ISO 8601)
created_before string Filter versions created before this timestamp (ISO 8601)
customer_uuid string (uuid) Customer UUID
date_joined string (date-time) Date joined after
description string
email string Email
full_name string Full name
is_active boolean Is active
is_staff boolean Is staff
is_support boolean Is support
job_title string Job title
modified string (date-time) Date modified after
native_name string Native name
o array Ordering

organization string Organization
organization_roles string Organization roles
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
phone_number string
project_roles string Project roles
project_uuid string (uuid) Project UUID
query string Filter by first name, last name, civil number, username or email
registration_method string
user_keyword string User keyword
username string Username (exact)
username_list string Comma-separated usernames

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
id integer Version ID
revision_date string (date-time) When this revision was created
revision_user object (free-form) User who created this revision
revision_comment string Comment describing the revision
serialized_data object (free-form) Serialized model fields at this revision

Get identity bridge status for a user

Returns diagnostic information about a user's identity bridge state: active ISDs, per-attribute source tracking with staleness detection, and effective bridge-writable fields. Staff only.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/identity_bridge_status/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_identity_bridge_status_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_identity_bridge_status_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_identity_bridge_status_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersIdentityBridgeStatusRetrieve } from 'waldur-js-client';

try {
  const response = await usersIdentityBridgeStatusRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type
active_isds array of strings
managed_isds array of strings
attribute_sources object (free-form)
stale_attributes array of strings
effective_bridge_fields array of strings
is_federated boolean

Get current user details

Get current user details, including authentication token and profile completeness status.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/me/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.user_field_enum import UserFieldEnum # (1)
from waldur_api_client.api.users import users_me_retrieve # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_me_retrieve.sync(client=client)

print(response)
  1. Model Source: UserFieldEnum
  2. API Source: users_me_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { usersMeRetrieve } from 'waldur-js-client';

try {
  const response = await usersMeRetrieve({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type
field array

200 -

Field Type Description
url string (uri)
uuid string (uuid)
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
slug string URL-friendly identifier. Only editable by staff users.
full_name string
native_name string
job_title string
email string (email)
phone_number string
organization string
civil_number string
description string
is_staff boolean Designates whether the user can log into this admin site.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
is_support boolean Designates whether the user is a global support user.
token string
token_lifetime integer Token lifetime in seconds.
token_expires_at string (date-time)
registration_method string Indicates what registration method was used.
date_joined string (date-time)
agreement_date string (date-time) Indicates when the user has agreed with the policy.
notifications_enabled boolean Designates whether the user is allowed to receive email notifications.
preferred_language string
permissions array of objects
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.created_by_full_name string
permissions.created_by_username string
permissions.role_name string
permissions.role_description string
permissions.role_uuid string (uuid)
permissions.scope_type string
permissions.scope_uuid string (uuid)
permissions.scope_name string
permissions.customer_uuid string (uuid)
permissions.customer_name string
requested_email string
affiliations any Person's affiliation within organization such as student, faculty, staff.
first_name string
last_name string
birth_date string (date)
identity_provider_name string
identity_provider_label string
identity_provider_management_url string
identity_provider_fields array of strings
image string (uri)
identity_source string Indicates what identity provider was used.
has_active_session boolean
has_usable_password boolean
ip_address string
gender any ISO 5218 gender code
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities any List of all citizenships (ISO 3166-1 alpha-2 codes)
organization_country string
organization_type string SCHAC URN (e.g., urn:schac:homeOrganizationType:int:university)
organization_registry_code string Company registration code of the user's organization, if known
eduperson_assurance any REFEDS assurance profile URIs from identity provider
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
attribute_sources any Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds any List of ISD source identifiers this user can manage via Identity Bridge. E.g., ['isd:puhuri', 'isd:fenix']. Non-empty list implies identity manager role.
active_isds any List of ISDs that have asserted this user exists. User is deactivated when this becomes empty.

Check profile completeness

Check if user profile is complete with all mandatory attributes.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/profile_completeness/ \
  Authorization:"Token YOUR_API_TOKEN"
1
2
3
4
5
6
7
8
9
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_profile_completeness_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_profile_completeness_retrieve.sync(client=client)

print(response)
  1. API Source: users_profile_completeness_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { usersProfileCompletenessRetrieve } from 'waldur-js-client';

try {
  const response = await usersProfileCompletenessRetrieve({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}

200 -

Field Type Description
is_complete boolean Whether all mandatory profile fields are filled.
missing_fields array of strings List of mandatory fields that are missing.
mandatory_fields array of strings List of all mandatory fields.
enforcement_enabled boolean Whether enforcement of mandatory attributes is enabled.

Get user auth token

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/token/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_token_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_token_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_token_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersTokenRetrieve } from 'waldur-js-client';

try {
  const response = await usersTokenRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type Description
created string (date-time)
user_first_name string
user_last_name string
user_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
user_is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
user_token_lifetime integer Token lifetime in seconds.
token string

Get user counts by active status

Returns aggregated counts of users by active/inactive status. Staff or support only.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/user_active_status_count/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.marketplace_service_provider_user_o_enum import MarketplaceServiceProviderUserOEnum # (1)
from waldur_api_client.api.users import users_user_active_status_count_list # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_user_active_status_count_list.sync(client=client)

for item in response:
    print(item)
  1. Model Source: MarketplaceServiceProviderUserOEnum
  2. API Source: users_user_active_status_count_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { usersUserActiveStatusCountList } from 'waldur-js-client';

try {
  const response = await usersUserActiveStatusCountList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
agreement_date string (date-time) Agreement date after
civil_number string
customer_uuid string (uuid) Customer UUID
date_joined string (date-time) Date joined after
description string
email string Email
full_name string Full name
is_active boolean Is active
is_staff boolean Is staff
is_support boolean Is support
job_title string Job title
modified string (date-time) Date modified after
native_name string Native name
o array Ordering

organization string Organization
organization_roles string Organization roles
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
phone_number string
project_roles string Project roles
project_uuid string (uuid) Project UUID
query string Filter by first name, last name, civil number, username or email
registration_method string
user_keyword string User keyword
username string Username (exact)
username_list string Comma-separated usernames

200 -

The response body is an array of objects, where each object has the following structure:

Field Type
status string
count integer

Get user counts by preferred language

Returns aggregated counts of users by preferred language. Staff or support only.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/user_language_count/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.marketplace_service_provider_user_o_enum import MarketplaceServiceProviderUserOEnum # (1)
from waldur_api_client.api.users import users_user_language_count_list # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_user_language_count_list.sync(client=client)

for item in response:
    print(item)
  1. Model Source: MarketplaceServiceProviderUserOEnum
  2. API Source: users_user_language_count_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { usersUserLanguageCountList } from 'waldur-js-client';

try {
  const response = await usersUserLanguageCountList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
agreement_date string (date-time) Agreement date after
civil_number string
customer_uuid string (uuid) Customer UUID
date_joined string (date-time) Date joined after
description string
email string Email
full_name string Full name
is_active boolean Is active
is_staff boolean Is staff
is_support boolean Is support
job_title string Job title
modified string (date-time) Date modified after
native_name string Native name
o array Ordering

organization string Organization
organization_roles string Organization roles
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
phone_number string
project_roles string Project roles
project_uuid string (uuid) Project UUID
query string Filter by first name, last name, civil number, username or email
registration_method string
user_keyword string User keyword
username string Username (exact)
username_list string Comma-separated usernames

200 -

The response body is an array of objects, where each object has the following structure:

Field Type
language string
count integer

Returns user registration counts aggregated by month. Staff or support only.

1
2
3
4
http \
  GET \
  https://api.example.com/api/users/user_registration_trend/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.marketplace_service_provider_user_o_enum import MarketplaceServiceProviderUserOEnum # (1)
from waldur_api_client.api.users import users_user_registration_trend_list # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_user_registration_trend_list.sync(client=client)

for item in response:
    print(item)
  1. Model Source: MarketplaceServiceProviderUserOEnum
  2. API Source: users_user_registration_trend_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { usersUserRegistrationTrendList } from 'waldur-js-client';

try {
  const response = await usersUserRegistrationTrendList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
agreement_date string (date-time) Agreement date after
civil_number string
customer_uuid string (uuid) Customer UUID
date_joined string (date-time) Date joined after
description string
email string Email
full_name string Full name
is_active boolean Is active
is_staff boolean Is staff
is_support boolean Is support
job_title string Job title
modified string (date-time) Date modified after
native_name string Native name
o array Ordering

organization string Organization
organization_roles string Organization roles
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
phone_number string
project_roles string Project roles
project_uuid string (uuid) Project UUID
query string Filter by first name, last name, civil number, username or email
registration_method string
user_keyword string User keyword
username string Username (exact)
username_list string Comma-separated usernames

200 -

The response body is an array of objects, where each object has the following structure:

Field Type
month string
count integer

Cancel email change request

Cancel email update request

1
2
3
4
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel_change_email/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_cancel_change_email # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_cancel_change_email.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_cancel_change_email
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersCancelChangeEmail } from 'waldur-js-client';

try {
  const response = await usersCancelChangeEmail({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 - No response body


Request email change

Allows to change email for user.

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/change_email/ \
  Authorization:"Token YOUR_API_TOKEN" \
  email="alice@example.com"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.user_email_change_request import UserEmailChangeRequest # (1)
from waldur_api_client.api.users import users_change_email # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = UserEmailChangeRequest(
    email="alice@example.com"
)
response = users_change_email.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: UserEmailChangeRequest
  2. API Source: users_change_email
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { usersChangeEmail } from 'waldur-js-client';

try {
  const response = await usersChangeEmail({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "email": "alice@example.com"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
email string (email)

200 - No response body


Change user password

Allows staff user to change password for any user.

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/change_password/ \
  Authorization:"Token YOUR_API_TOKEN" \
  new_password="********"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.password_change_request import PasswordChangeRequest # (1)
from waldur_api_client.api.users import users_change_password # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = PasswordChangeRequest(
    new_password="********"
)
response = users_change_password.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: PasswordChangeRequest
  2. API Source: users_change_password
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { usersChangePassword } from 'waldur-js-client';

try {
  const response = await usersChangePassword({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "new_password": "********"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
new_password string

200 - No response body


Confirm email change

Confirm email update using code

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/users/confirm_email/ \
  Authorization:"Token YOUR_API_TOKEN" \
  code="string-value"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.confirm_email_request_request import ConfirmEmailRequestRequest # (1)
from waldur_api_client.api.users import users_confirm_email # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = ConfirmEmailRequestRequest(
    code="string-value"
)
response = users_confirm_email.sync(
    client=client,
    body=body_data
)

print(response)
  1. Model Source: ConfirmEmailRequestRequest
  2. API Source: users_confirm_email
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersConfirmEmail } from 'waldur-js-client';

try {
  const response = await usersConfirmEmail({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "code": "string-value"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required
code string

200 - No response body


Refresh user auth token

1
2
3
4
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/refresh_token/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_refresh_token # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_refresh_token.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_refresh_token
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersRefreshToken } from 'waldur-js-client';

try {
  const response = await usersRefreshToken({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type Description
created string (date-time)
user_first_name string
user_last_name string
user_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
user_is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
user_token_lifetime integer Token lifetime in seconds.
token string

Remove user password

Allows staff user to remove password for any user, making it unusable.

1
2
3
4
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/remove_password/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_remove_password # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_remove_password.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_remove_password
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersRemovePassword } from 'waldur-js-client';

try {
  const response = await usersRemovePassword({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 - No response body


Trigger SCIM synchronization for all users

Staff-only action to queue SCIM synchronization for all users.

1
2
3
4
http \
  POST \
  https://api.example.com/api/users/scim_sync_all/ \
  Authorization:"Token YOUR_API_TOKEN"
1
2
3
4
5
6
7
8
9
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_scim_sync_all # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_scim_sync_all.sync(client=client)

print(response)
  1. API Source: users_scim_sync_all
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { usersScimSyncAll } from 'waldur-js-client';

try {
  const response = await usersScimSyncAll({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}

200 -

Field Type
detail string

Send action notification to a specific user

Staff-only action to send a pending actions digest notification to a specific user.

1
2
3
4
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/send_notification/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.users import users_send_notification # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = users_send_notification.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: users_send_notification
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { usersSendNotification } from 'waldur-js-client';

try {
  const response = await usersSendNotification({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

202 -

Field Type
status string
message string