Skip to content

Users

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}/pull_scim_attributes/ Pull SCIM attributes from external IdP for this user
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.uuid string (uuid)
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.user_username string
permissions.user_email string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.is_active boolean
permissions.created_by_full_name string
permissions.created_by_username string
permissions.revoked_by_full_name string
permissions.revoked_by_username string
permissions.revoke_reason 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.scope_is_removed boolean
permissions.customer_uuid string (uuid)
permissions.customer_name string
permissions.resource_uuid string (uuid)
permissions.project_uuid string (uuid)
requested_email string
affiliations array of strings
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.
should_protect_user_details boolean
has_active_session boolean
has_usable_password boolean
ip_address string
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
uid_number integer POSIX UID from the identity provider; used when an offering's uid_source is 'user_attribute'.
primary_gid integer POSIX primary GID from the identity provider; used when an offering's gid_source is 'user_attribute'.
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
attribute_sources object (free-form) Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.
is_admin_deactivated boolean Designates that the user was deactivated by an administrator and must not be reactivated automatically by the role-sync task. Visible to staff and support.

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.uuid string (uuid)
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.user_username string
permissions.user_email string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.is_active boolean
permissions.created_by_full_name string
permissions.created_by_username string
permissions.revoked_by_full_name string
permissions.revoked_by_username string
permissions.revoke_reason 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.scope_is_removed boolean
permissions.customer_uuid string (uuid)
permissions.customer_name string
permissions.resource_uuid string (uuid)
permissions.project_uuid string (uuid)
requested_email string
affiliations array of strings
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.
should_protect_user_details boolean
has_active_session boolean
has_usable_password boolean
ip_address string
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
uid_number integer POSIX UID from the identity provider; used when an offering's uid_source is 'user_attribute'.
primary_gid integer POSIX primary GID from the identity provider; used when an offering's gid_source is 'user_attribute'.
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
attribute_sources object (free-form) Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.
is_admin_deactivated boolean Designates that the user was deactivated by an administrator and must not be reactivated automatically by the role-sync task. Visible to staff and support.

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
affiliations array of strings
first_name string
last_name string
birth_date string (date)
image string (binary)
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.

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.uuid string (uuid)
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.user_username string
permissions.user_email string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.is_active boolean
permissions.created_by_full_name string
permissions.created_by_username string
permissions.revoked_by_full_name string
permissions.revoked_by_username string
permissions.revoke_reason 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.scope_is_removed boolean
permissions.customer_uuid string (uuid)
permissions.customer_name string
permissions.resource_uuid string (uuid)
permissions.project_uuid string (uuid)
requested_email string
affiliations array of strings
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.
should_protect_user_details boolean
has_active_session boolean
has_usable_password boolean
ip_address string
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
uid_number integer POSIX UID from the identity provider; used when an offering's uid_source is 'user_attribute'.
primary_gid integer POSIX primary GID from the identity provider; used when an offering's gid_source is 'user_attribute'.
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
attribute_sources object (free-form) Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.
is_admin_deactivated boolean Designates that the user was deactivated by an administrator and must not be reactivated automatically by the role-sync task. Visible to staff and support.

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


Pull SCIM attributes from external IdP for this user

Staff-only action that pulls the user's attributes from the configured external SCIM 2.0 directory (SCIM_PULL_API_URL). Pulled attributes are merged via the same source-aware policy as inbound SCIM and the Identity Bridge.

1
2
3
4
http \
  POST \
  https://api.example.com/api/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pull_scim_attributes/ \
  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_scim_attributes # (1)

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

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

try {
  const response = await usersPullScimAttributes({
  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
detail string
changed_fields array of strings

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
affiliations array of strings
first_name string
last_name string
birth_date string (date)
image string (binary)
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.

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.uuid string (uuid)
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.user_username string
permissions.user_email string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.is_active boolean
permissions.created_by_full_name string
permissions.created_by_username string
permissions.revoked_by_full_name string
permissions.revoked_by_username string
permissions.revoke_reason 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.scope_is_removed boolean
permissions.customer_uuid string (uuid)
permissions.customer_name string
permissions.resource_uuid string (uuid)
permissions.project_uuid string (uuid)
requested_email string
affiliations array of strings
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.
should_protect_user_details boolean
has_active_session boolean
has_usable_password boolean
ip_address string
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
uid_number integer POSIX UID from the identity provider; used when an offering's uid_source is 'user_attribute'.
primary_gid integer POSIX primary GID from the identity provider; used when an offering's gid_source is 'user_attribute'.
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
attribute_sources object (free-form) Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.
is_admin_deactivated boolean Designates that the user was deactivated by an administrator and must not be reactivated automatically by the role-sync task. Visible to staff and support.

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
affiliations array of strings
first_name string
last_name string
birth_date string (date)
image string (binary)
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.

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.uuid string (uuid)
permissions.user_uuid string (uuid)
permissions.user_name string
permissions.user_slug string
permissions.user_username string
permissions.user_email string
permissions.created string (date-time)
permissions.expiration_time string (date-time)
permissions.is_active boolean
permissions.created_by_full_name string
permissions.created_by_username string
permissions.revoked_by_full_name string
permissions.revoked_by_username string
permissions.revoke_reason 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.scope_is_removed boolean
permissions.customer_uuid string (uuid)
permissions.customer_name string
permissions.resource_uuid string (uuid)
permissions.project_uuid string (uuid)
requested_email string
affiliations array of strings
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.
should_protect_user_details boolean
has_active_session boolean
has_usable_password boolean
ip_address string
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
uid_number integer POSIX UID from the identity provider; used when an offering's uid_source is 'user_attribute'.
primary_gid integer POSIX primary GID from the identity provider; used when an offering's gid_source is 'user_attribute'.
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
attribute_sources object (free-form) Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.
is_admin_deactivated boolean Designates that the user was deactivated by an administrator and must not be reactivated automatically by the role-sync task. Visible to staff and support.

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_me_field_enum import UserMeFieldEnum # (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: UserMeFieldEnum
  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.role_name 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
permissions.project_uuid string (uuid)
permissions.resource_uuid string (uuid)
permissions.expiration_time string (date-time)
requested_email string
affiliations array of strings
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.
should_protect_user_details boolean
has_active_session boolean
has_usable_password boolean
ip_address string
gender any User's gender (male, female, or unknown)
personal_title string Honorific title (Mr, Ms, Dr, Prof, etc.)
place_of_birth string
address string
country_of_residence string
nationality string Primary citizenship (ISO 3166-1 alpha-2 code)
nationalities array of strings
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
organization_vat_code string VAT code of the user's organization
organization_address string Postal address of the user's organization
eduperson_assurance array of strings
uid_number integer POSIX UID from the identity provider; used when an offering's uid_source is 'user_attribute'.
primary_gid integer POSIX primary GID from the identity provider; used when an offering's gid_source is 'user_attribute'.
is_identity_manager boolean Designates whether the user is allowed to manage remote user identities.
can_use_personal_access_tokens boolean Designates whether the user is allowed to create and use personal access tokens.
attribute_sources object (free-form) Per-attribute source and freshness tracking. Format: {'field_name': {'source': 'isd:', 'timestamp': 'ISO8601'}}.
managed_isds array of strings
active_isds array of strings
deactivation_reason string Reason why the user was deactivated. Visible to staff and support.
is_admin_deactivated boolean Designates that the user was deactivated by an administrator and must not be reactivated automatically by the role-sync task. Visible to staff and support.
profile_completeness any

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