Crowd module

API reference

class atlassian.crowd.Crowd(url, username, password, timeout=60, api_root='rest', api_version='latest')

Crowd API wrapper. Important to note that you will have to use an application credentials, not user credentials, in order to access Crowd APIs

account_change_password(username, old_password, new_password)

Change the current user’s password. :param username: str - username :param old_password: str - current password :param new_password: str - new password :return:

account_forgotten_password(username)

Start the forgotten password procedure. :param username: str - username :return:

account_forgotten_username(email)

Start the forgotten username procedure. :param email: str - email address :return:

account_reset_password(username, token, password, directory_id=None)

Reset a forgotten password. :param username: str - username :param token: str - reset token :param password: str - new password :param directory_id: int - directory id :return:

account_validate_token(username, token, directory_id=None)

Check whether a user’s reset token is still valid. :param username: str - username :param token: str - reset token :param directory_id: int - directory id :return:

add_admin_group_nested_groups(group_id, data)

Add nested groups to a group. :param group_id: str - group id :param data: dict - group membership request body :return:

add_audit_log_changeset(data)

Add an audit log changeset. :param data: dict - changeset data :return:

add_directory_mapping(application_id, data)

Add a directory mapping to an application. :param application_id: str - application id :param data: dict - directory mapping representation :return:

add_group_administrators(group_id, data)

Add administrators to a group. :param group_id: str - group id :param data: dict - administrator request body :return:

add_remote_address(application_id, address)

Add a remote address to an application. :param application_id: str - application id :param address: dict - remote address representation or string value :return:

add_user_to_admin_group(user_id, data)

Add a user to groups. :param user_id: str - user id :param data: dict - groups to add :return:

add_users_to_admin_group(group_id, data)

Add users to a group. :param group_id: str - group id :param data: dict - users to add :return:

check_plugin_manager_status()
create_application(data, include_request_address=None)

Add a new application. :param data: dict - application representation :param include_request_address: bool - include request address in response :return:

create_backup(data=None)

Create a backup. :param data: dict - optional backup request body :return:

delete_alias(application_id, username)

Delete a user’s alias in a specific application. :param application_id: str - application id :param username: str - username :return:

delete_application(application_id)

Delete an application. :param application_id: str - application id :return:

delete_directory_mapping(application_id, directory_id)

Delete a directory mapping from an application. :param application_id: str - application id :param directory_id: str - directory id :return:

delete_plugin(plugin_key)

Delete plugin :param plugin_key: :return:

delete_user_aliases(username)

Delete all aliases for a user. :param username: str - username in Crowd :return:

directory_test_azure_ad(config, directory_id=None)

Test Microsoft Entra ID (Azure AD) directory connection. :param config: dict - Azure AD connection test data :param directory_id: int - optional directory id to test against :return: connection test result

directory_test_crowd(config, directory_id=None)

Test Crowd directory connection. :param config: dict - Crowd connection test data :param directory_id: int - optional directory id to test against :return: connection test result

directory_test_ldap(config, directory_id=None)

Test LDAP directory connection. :param config: dict - LDAP connection test data :param directory_id: int - optional directory id to test against :return: connection test result

Test LDAP directory search. :param config: dict - LDAP search test data :param directory_id: int - optional directory id to test against :return: search test result

expire_all_remember_me_tokens()

Expire all remember me tokens.

expire_session(random_hash)

Expire a session by random hash. :param random_hash: str - session random hash :return:

export_licensed_users(application_id, search=None, directory_id=None, jira_type=None, last_login_before=None, search_version=None)

Export licensed users for an application. :param application_id: str - application id :param search: str - optional search text :param directory_id: str - optional directory id filter :param jira_type: str - optional Jira subtype :param last_login_before: str - optional last logged in date filter :param search_version: str - optional licensing data version :return: exported users

find_saml_directory_mapping_mismatch(application_id)

Find directory mappings mismatch for SAML application. :param application_id: str - application id :return: mismatch info

get_access_based_synchronization(application_id)

Get access-based synchronization settings for an application. :param application_id: str - application id :return: synchronization settings

get_admin_application(application_id)

Get an application by id. :param application_id: str - application id :return: application

get_admin_applications(name=None, active=None, start=0, limit=99999)

Get all applications or filter by name and active status. :param name: str - optional application name filter :param active: bool - optional active status filter :param start: int - start index for paging :param limit: int - maximum number of results :return: applications

get_admin_group_details(group_id)

Get group details. :param group_id: str - group id :return: group details

get_admin_group_members(group_id, start=0, limit=99999)

Get members of a group. :param group_id: str - group id :param start: int - start index for paging :param limit: int - maximum number of results :return: members

get_admin_group_nested_groups(group_id, start=0, limit=99999)

Get nested groups for a group. :param group_id: str - group id :param start: int - start index for paging :param limit: int - maximum number of results :return: groups

get_alias(application_id, username)

Get a user’s alias in a specific application. :param application_id: str - application id :param username: str - username :return: alias

get_application(application_id)

Get an application by id. :param application_id: str - application id :return: application

get_application_sessions(search=None, start=0, limit=99999)

Get application sessions. :param search: str - optional search keyword :param start: int - start index for paging :param limit: int - maximum number of results :return: sessions

get_applications(name=None)

Get all applications or a specific application by name. :param name: str - optional application name to filter by :return: applications

get_audit_log_configuration()

Get audit log configuration.

get_audit_log_filter_values(projection=None, search=None, start=0, limit=99999)

Get audit log filter values. :param projection: str - item type requested :param search: str - optional search string :param start: int - start index for paging :param limit: int - maximum number of results :return: filter values

get_backup_configuration()

Get backup configuration.

get_backup_summary()

Get backup summary.

Get the Crowd cookie configuration.

get_detailed_directories(search=None, active=None, start=0, limit=99999)

Get detailed directory data list. :param search: str - optional search query :param active: bool - optional active status filter :param start: int - start index for paging :param limit: int - maximum number of results :return: directories

get_detailed_directory(directory_id)

Get detailed directory data. :param directory_id: str - directory id :return: directory

get_directory_mapping(application_id, directory_id)

Get a directory mapping for an application. :param application_id: str - application id :param directory_id: str - directory id :return: directory mapping

get_directory_mappings(application_id, start=0, limit=99999)

Get directory mappings for an application. :param application_id: str - application id :param start: int - start index for paging :param limit: int - maximum number of results :return: directory mappings

get_dynamic_ldap_pool_statistics()

Get dynamic LDAP pool statistics.

get_group_admin_candidates(group_id, search=None, limit=99999)

Get group administrator candidates. :param group_id: str - group id :param search: str - optional search string :param limit: int - maximum number of results :return: candidates

get_group_administrators(group_id, start=0, limit=99999)

Get administrators of a group. :param group_id: str - group id :param start: int - start index for paging :param limit: int - maximum number of results :return: administrators

get_licensed_directories(application_id, version=None, jira_type=None, start=0, limit=99999)

Get licensed directories for an application. :param application_id: str - application id :param version: str - optional licensing data version :param jira_type: str - optional Jira subtype :param start: int - start index for paging :param limit: int - maximum number of results :return: directories

get_licensed_jira_types(application_id, version=None)

Get Jira types for licensing. :param application_id: str - application id :param version: str - optional licensing data version :return: Jira types

get_licensing_summary(application_id, version=None, jira_type=None)

Get licensing summary for an application. :param application_id: str - application id :param version: str - optional licensing data version :param jira_type: str - optional Jira subtype :return: licensing summary

get_look_and_feel_config()

Get look and feel configuration.

get_managed_directories(start=0, limit=99999)

Get managed directories. :param start: int - start index for paging :param limit: int - maximum number of results :return: directories

get_plugin_info(plugin_key)

Provide plugin info :return a json of installed plugins

get_plugin_license_info(plugin_key)

Provide plugin license info :return a json specific License query

get_plugins_info()

Provide plugins info :return a json of installed plugins

get_remember_me_config()

Get remember me configuration.

get_remote_addresses(application_id)

Get remote addresses for an application. :param application_id: str - application id :return: remote addresses

get_saml_application_config(application_id)

Get SAML configuration for an application. :param application_id: str - application id :return: SAML application configuration

get_saml_config()

Get SAML configuration.

get_saml_idp_metadata()

Get SAML identity provider metadata.

get_server_info()

Get Crowd server information.

get_user_sessions(search=None, directory_id=None, start=0, limit=99999)

Get user sessions. :param search: str - optional search keyword :param directory_id: str - optional directory id filter :param start: int - start index for paging :param limit: int - maximum number of results :return: sessions

get_username_for_alias(application_id, alias)

Get the username for an alias in a specific application. :param application_id: str - application id :param alias: str - alias :return: username

group(groupname)

Return a group by name.

group_add_child_group(groupname, child_groupname)

Add a direct child group membership to a group. :param groupname: str - parent group name :param child_groupname: str - child group name to add :return:

group_add_parent_group(groupname, parent_groupname)

Add a direct parent group membership to a group. :param groupname: str - child group name :param parent_groupname: str - parent group name to add :return:

group_add_user(username, groupname)

Add user to group :param username: str - username :param groupname: str - group name :return:

group_attributes(groupname)

Return all attributes for a group.

group_child_groups(groupname, child_groupname=None, start_index=0, max_results=99999)

Get direct child groups of a group. :param groupname: str - parent group name :param child_groupname: str - optional single child group name to retrieve :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: list of group names

group_create(groupname, description=None, active=True)

Create new group method :param groupname: string: The name of new group :param description: string: The description of new group, default is None :param active: bool: Weather the group is active, default is True :return: Create result

group_delete(groupname)

Delete a group by name.

group_members(group, kind='direct', max_results=99999)

Get group’s all direct members :param group: str - group name :param kind: str - group type :param max_results: int - maximum number of results :return: The specify group’s direct members info

group_parent_groups(groupname, child_groupname=None, start_index=0, max_results=99999)

Get direct parent groups of a group. :param groupname: str - group name :param child_groupname: str - optional child group name :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: list of group names

group_remove_attribute(groupname, attribute_name)

Delete one group attribute.

group_remove_child_group(groupname, child_groupname)

Remove a direct child group membership from a group. :param groupname: str - parent group name :param child_groupname: str - child group name to remove :return:

group_remove_user(username, groupname)

Remove a direct user-to-group membership.

group_store_attributes(groupname, attributes)

Store group attributes using Crowd’s attribute request body.

group_update(groupname, data)

Update a group with a Crowd group representation.

health_check()

Get health status https://confluence.atlassian.com/jirakb/how-to-retrieve-health-check-results-using-rest-api-867195158.html :return:

is_user_in_group(username, group, kind='direct')

Check if the user is a member of the group :param username: str - username :param group: str - group name :param kind: str - group type :return: bool - Return True or False

property memberships

Retrieves full details of all group memberships, with users and nested groups. See: https://docs.atlassian.com/atlassian-crowd/5.3.1/REST/#usermanagement/1/group-getAllMemberships :return: All membership mapping dict

move_directory_mapping(application_id, directory_id, data)

Reorder directory mappings for an application. :param application_id: str - application id :param directory_id: str - directory id :param data: dict - move request body :return:

nested_group_child_groups(groupname, child_groupname=None, start_index=0, max_results=99999)

Get nested child groups of a group. :param groupname: str - parent group name :param child_groupname: str - optional single nested child group name to retrieve :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: list of group names

nested_group_members(groupname, max_results=99999)

Return users who are direct or nested members of a group.

nested_group_parent_groups(groupname, parent_groupname=None, start_index=0, max_results=99999)

Get nested parent groups of a group. :param groupname: str - group name :param parent_groupname: str - optional single parent group name to retrieve :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: list of group names

nested_user_groups(username)

Return direct and nested groups for a user.

parse_saml_metadata(data)

Parse SAML metadata. :param data: bytes or str - SAML metadata content :return: parsed metadata

parse_saml_metadata_file(file_path)

Parse SAML metadata from a file. :param file_path: str - path to SAML metadata file :return: parsed metadata

remove_group_admin_group(group_id, admin_group_id)

Revoke group administrator rights from a group. :param group_id: str - group id :param admin_group_id: str - admin group id :return:

remove_group_admin_user(group_id, admin_user_id)

Revoke group administrator rights from a user. :param group_id: str - group id :param admin_user_id: str - admin user id :return:

remove_remote_address(application_id, address)

Remove a remote address from an application. :param application_id: str - application id :param address: str - remote address to remove :return:

remove_user_from_admin_group(user_id, data)

Remove a user from groups. :param user_id: str - user id :param data: dict - groups to remove :return:

remove_users_from_admin_group(group_id, data)

Remove users from a group. :param group_id: str - group id :param data: dict - users to remove :return:

reset_look_and_feel_config()

Reset look and feel configuration to default.

reset_saml_certificates()

Reset SAML certificates.

save_backup_configuration(data)

Save backup configuration. :param data: dict - backup configuration :return:

save_mail_configuration(data)

Save mail server configuration. :param data: dict - mail configuration :return:

search(entity_type, restriction=None, start_index=0, max_results=99999)

Search entities using a search restriction body (POST). :param entity_type: str - type of entity to search :param restriction: dict - search restriction request body :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: search results

search_admin_group_user_suggestions(group_id, search=None, limit=99999)

Search users to add to a group. :param group_id: str - group id :param search: str - optional search string :param limit: int - maximum number of results :return: user suggestions

search_admin_users(query=None, start=0, limit=99999)

Search users. :param query: dict - search request body :param start: int - start index for paging :param limit: int - maximum number of results :return: users

search_administered_groups(query=None, start=0, limit=99999)

Search administered groups. :param query: dict - search request body :param start: int - start index for paging :param limit: int - maximum number of results :return: groups

search_audit_log(query=None, start=0, limit=99999)

Search audit log. :param query: dict - search request body :param start: int - start index for paging :param limit: int - maximum number of results :return: audit log entries

search_cql(entity_type, restriction=None, start_index=0, max_results=99999)

Search entities using Crowd Query Language (GET). :param entity_type: str - type of entity to search :param restriction: str - CQL restriction :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: search results

search_directory_groups(directory_id, term, active=None, start=0, limit=99999)

Search groups in a directory. :param directory_id: str - directory id :param term: str - search term :param active: bool - optional active status filter :param start: int - start index for paging :param limit: int - maximum number of results :return: groups

search_licensed_users(application_id, query=None, start=0, limit=99999)

Search licensed users for an application. :param application_id: str - application id :param query: dict - search request body :param start: int - start index for paging :param limit: int - maximum number of results :return: users

session_create(username, password, validate_password=True, duration=None)

Authenticate a user and create a Crowd SSO session. :param username: str - username :param password: str - password :param validate_password: bool - whether to validate the password :param duration: int - requested token duration in seconds :return: session info

session_delete(token)

Invalidate a Crowd SSO session token. :param token: str - SSO token :return:

session_delete_user_tokens(username, exclude=None)

Delete all tokens for a user, optionally excluding one token. :param username: str - username :param exclude: str - token to exclude from invalidation :return:

session_get(token)

Get session information by token. :param token: str - SSO token :return: session info

session_validate(token, validation_factors=None)

Validate a Crowd SSO session token. :param token: str - SSO token :param validation_factors: dict - validation factors request body :return: session info

set_alias(application_id, username, alias)

Set a user’s alias in a specific application. :param application_id: str - application id :param username: str - username :param alias: str - alias value :return:

set_audit_log_configuration(data)

Set audit log configuration. :param data: dict - audit log configuration :return:

set_user_aliases(username, aliases)

Set aliases for a user across applications. :param username: str - username in Crowd :param aliases: dict - mapping of application id to alias :return:

synchronize_directory(directory_id)

Schedule synchronisation for a directory. :param directory_id: str - directory id :return:

test_mail_configuration(data)

Test mail server connection. :param data: dict - mail configuration :return:

update_access_based_synchronization(application_id, data)

Update access-based synchronization settings for an application. :param application_id: str - application id :param data: dict - synchronization settings :return:

update_admin_application(application_id, data)

Update an application. :param application_id: str - application id :param data: dict - application representation :return:

update_application(application_id, data)

Update an application. :param application_id: str - application id :param data: dict - application representation :return:

update_directory_mapping(application_id, directory_id, data)

Update a directory mapping for an application. :param application_id: str - application id :param directory_id: str - directory id :param data: dict - directory mapping representation :return:

update_look_and_feel_config(data)

Update look and feel configuration. :param data: dict - look and feel configuration :return:

update_plugin_license(plugin_key, raw_license)

Update license for plugin :param plugin_key: :param raw_license: :return:

update_remember_me_config(data)

Update remember me configuration. :param data: dict - remember me configuration :return:

update_saml_application_config(application_id, data)

Update SAML configuration for an application. :param application_id: str - application id :param data: dict - SAML configuration :return:

upload_plugin(plugin_path)

Provide plugin path for upload into Jira e.g. useful for auto deploy :param plugin_path: :return:

user(username)

Get user information :param username: :return:

user_activate(username)

Activate user :param username: str - username

user_aliases(username)

Get all aliases for a user across alias-enabled applications. :param username: str - username in Crowd :return: aliases

user_attributes(username)

Return all attributes for a user.

user_authenticate(username, password)

Authenticate a user and return user information. :param username: str - username :param password: str - password :return: user info

user_authentication_notify(username)

Notify Crowd that a user has been authenticated by a trusted application. :param username: str - username :return:

user_avatar(username, size=None)

Get a user’s avatar. :param username: str - username :param size: int - requested avatar size in pixels :return: avatar content

user_create(username, active, first_name, last_name, display_name, email, password)

Create new user method :param active: bool: :param username: string: username :param active: bool: :param first_name: string: :param last_name: string: :param display_name: string: :param email: string: :param password: string: :return:

user_deactivate(username)

Deactivate user

Returns:

user_delete(username)

Delete user :param username: str - username :return:

user_delete_password(username)

Delete a user’s password. :param username: str - username :return:

user_expire_all_passwords(confirm=True)

Expire all user passwords. :param confirm: bool - must be True to perform the action :return:

user_groups(username, kind='direct')

Get user’s all group info :param username: str - username :param kind: str - group type :return: The specify user’s group info

user_remove_attribute(username, attribute_name)

Delete one user attribute.

user_rename(username, new_name)

Rename a user. :param username: str - current username :param new_name: str - new username :return:

user_request_password_reset(username)

Request a password reset email for a user. :param username: str - username :return:

user_request_usernames_reminder(email)

Request a username reminder email. :param email: str - email address :return:

user_store_attributes(username, attributes)

Store user attributes using Crowd’s attribute request body.

user_update(username, data)

Update a user with a Crowd user representation.

user_update_password(username, password)

Update a user’s password.

validate_mail_configuration(data)

Validate mail server configuration fields. :param data: dict - mail configuration :return:

Manage users

# Activate user
crowd.user_activate(username)

# Add user
crowd.user_create(username, active, first_name, last_name, display_name, email, password)

# Deactivate user
crowd.user_deactivate(username)

# Delete user
crowd.user_delete(username)

# Get user
crowd.user(username)

# Get user's all group info
crowd.user_groups(username, kind='direct')

# Check whether the user is a member of the group
crowd.is_user_in_group(username, group, kind='direct')

crowd.user_update(username, {"name": username, "email": "ada@example.com", "active": True})
crowd.user_update_password(username, "new-password")
crowd.user_delete_password(username)
crowd.user_store_attributes(username, {"attributes": []})
crowd.user_remove_attribute(username, "attribute-name")
crowd.nested_user_groups(username)
crowd.group_remove_user(username, groupname)
crowd.user_authenticate(username, "password")
crowd.user_authentication_notify(username)
crowd.user_request_password_reset(username)
crowd.user_request_usernames_reminder("ada@example.com")
crowd.user_rename(username, "new-username")
crowd.user_expire_all_passwords(confirm=True)
crowd.user_avatar(username, size=64)

Manage groups

# Add user to group
crowd.group_add_user(username, groupname)

# Get group's members
crowd.group_members(group, kind='direct', max_results=99999)

# Create new group method
crowd.group_create(groupname, description, active=True)

crowd.group(groupname)
crowd.group_update(groupname, {"name": groupname, "active": True})
crowd.group_store_attributes(groupname, {"attributes": []})
crowd.group_remove_attribute(groupname, "attribute-name")
crowd.nested_group_members(groupname)
crowd.group_delete(groupname)
crowd.group_child_groups(groupname)
crowd.nested_group_child_groups(groupname)
crowd.group_add_child_group(groupname, "child-group")
crowd.group_remove_child_group(groupname, "child-group")
crowd.group_parent_groups(groupname)
crowd.nested_group_parent_groups(groupname)
crowd.group_add_parent_group(groupname, "parent-group")

Get memberships

# Retrieves full details of all group memberships.
# Return data structure:
# {
#     GroupName1<str>: [ Member1<str>, Member2<str>, ... ],
#     GroupName2<str>: [ MemberA<str>, MemberB<str>, ... ],
#     ...
# }
crowd.memberships

Manage sessions

# Create/authenticate a session
crowd.session_create(username, password, validate_password=True, duration=None)

# Validate a session token
crowd.session_validate(token, validation_factors=None)

# Get session info
crowd.session_get(token)

# Invalidate a session token
crowd.session_delete(token)

# Delete all tokens for a user
crowd.session_delete_user_tokens(username, exclude=None)

Configuration

# Get cookie configuration
crowd.get_cookie_config()

Account

crowd.account_change_password(username, "old-password", "new-password")
crowd.account_forgotten_password(username)
crowd.account_forgotten_username("ada@example.com")
crowd.account_reset_password(username, "reset-token", "new-password")
crowd.account_validate_token(username, "reset-token")

Directory management

crowd.directory_test_azure_ad({"tenantId": "..."})
crowd.directory_test_crowd({"url": "https://crowd.example.test"})
crowd.directory_test_ldap({"url": "ldaps://ldap.example.test"})
crowd.directory_test_ldap_search({"baseDN": "dc=example,dc=com"})

Application management

crowd.get_applications(name="confluence")
crowd.create_application({"name": "confluence"})
crowd.get_application("application-id")
crowd.update_application("application-id", {"name": "confluence"})
crowd.delete_application("application-id")
crowd.get_remote_addresses("application-id")
crowd.add_remote_address("application-id", "192.168.1.1")
crowd.remove_remote_address("application-id", "192.168.1.1")

# Aliases
crowd.user_aliases(username)
crowd.set_user_aliases(username, {"app1": "alias1"})
crowd.delete_user_aliases(username)
crowd.get_alias("application-id", username)
crowd.set_alias("application-id", username, "alias1")
crowd.delete_alias("application-id", username)
crowd.get_username_for_alias("application-id", "alias1")

Administration

# Applications and directories
crowd.get_admin_applications(name="confluence")
crowd.get_admin_application("application-id")
crowd.update_admin_application("application-id", {"name": "confluence"})
crowd.get_directory_mappings("application-id")
crowd.add_directory_mapping("application-id", {"directoryId": "dir1"})
crowd.get_directory_mapping("application-id", "directory-id")
crowd.update_directory_mapping("application-id", "directory-id", {"directoryId": "dir1"})
crowd.delete_directory_mapping("application-id", "directory-id")
crowd.move_directory_mapping("application-id", "directory-id", {"position": 1})

# Directories
crowd.get_detailed_directories(active=True)
crowd.get_detailed_directory("directory-id")
crowd.synchronize_directory("directory-id")
crowd.get_managed_directories()

# Groups and users
crowd.search_directory_groups("directory-id", "engineer")
crowd.get_admin_group_nested_groups("group-id")
crowd.add_admin_group_nested_groups("group-id", {"groups": ["nested-group"]})
crowd.get_admin_group_details("group-id")
crowd.get_admin_group_members("group-id")
crowd.add_users_to_admin_group("group-id", {"users": ["ada"]})
crowd.remove_users_from_admin_group("group-id", {"users": ["ada"]})
crowd.search_admin_group_user_suggestions("group-id", "ada")
crowd.search_administered_groups({"name": "engineer"})
crowd.search_admin_users({"name": "ada"})
crowd.add_user_to_admin_group("user-id", {"groups": ["group-id"]})
crowd.remove_user_from_admin_group("user-id", {"groups": ["group-id"]})

# Group-level administrators
crowd.get_group_administrators("group-id")
crowd.add_group_administrators("group-id", {"users": ["ada"]})
crowd.get_group_admin_candidates("group-id", "ada")
crowd.remove_group_admin_user("group-id", "user-id")
crowd.remove_group_admin_group("group-id", "admin-group-id")

# Server and sessions
crowd.get_server_info()
crowd.get_application_sessions(search="confluence")
crowd.get_user_sessions(directory_id="directory-id")
crowd.expire_session("session-hash")

# Licensing
crowd.get_licensing_summary("application-id")
crowd.get_licensed_directories("application-id")
crowd.get_licensed_jira_types("application-id")
crowd.search_licensed_users("application-id", {"name": "ada"})
crowd.export_licensed_users("application-id", search="ada")

# Backup
crowd.get_backup_summary()
crowd.get_backup_configuration()
crowd.save_backup_configuration({"schedule": "daily"})
crowd.create_backup()

# Audit log
crowd.get_audit_log_configuration()
crowd.set_audit_log_configuration({"enabled": True})
crowd.add_audit_log_changeset({"author": "ada", "events": []})
crowd.search_audit_log({"dateRange": {}})
crowd.get_audit_log_filter_values(projection="EVENT_TYPE")

# Look and feel
crowd.get_look_and_feel_config()
crowd.update_look_and_feel_config({"color": "#0052CC"})
crowd.reset_look_and_feel_config()

# Remember me
crowd.get_remember_me_config()
crowd.update_remember_me_config({"tokenValidityDays": 14})
crowd.expire_all_remember_me_tokens()

# SAML
crowd.get_saml_config()
crowd.get_saml_application_config("application-id")
crowd.update_saml_application_config("application-id", {"enabled": True})
crowd.parse_saml_metadata("<xml>...</xml>")
crowd.reset_saml_certificates()
crowd.get_saml_idp_metadata()
crowd.find_saml_directory_mapping_mismatch("application-id")

# Mail and LDAP
crowd.save_mail_configuration({"host": "smtp.example.com"})
crowd.test_mail_configuration({"host": "smtp.example.com"})
crowd.validate_mail_configuration({"host": "smtp.example.com"})
crowd.get_dynamic_ldap_pool_statistics()

Healthcheck

# Check if the Crowd server is reachable
crowd.health_check()

# Provide plugins info
crowd.get_plugins_info()

# Provide plugin info
crowd.get_plugin_info(plugin_key)

# Provide plugin license info
crowd.get_plugin_license_info(plugin_key)

# Provide plugin path for upload into Jira e.g. useful for auto deploy
crowd.upload_plugin(plugin_path)

# Delete plugin
crowd.delete_plugin(plugin_key)

# Check plugin manager status
crowd.check_plugin_manager_status()

# Update plugin license
crowd.update_plugin_license(plugin_key, license_key)