GraphApi.Users (GraphApi v1.0.0-rc.1)

Copy Markdown View Source

Operations on the /users resource.

Examples

# List users
{:ok, %{"value" => users}} = GraphApi.Users.list()

# Get a specific user
{:ok, user} = GraphApi.Users.get("user@contoso.com")

# With OData query
alias GraphApi.OData
query = OData.new() |> OData.select(["displayName", "mail"]) |> OData.top(10)
{:ok, response} = GraphApi.Users.list(query: query)

# Multi-tenant
client = GraphApi.Client.new(config: config)
{:ok, users} = GraphApi.Users.list(client: client)

Summary

Functions

Adds an app role assignment to a user.

Assigns licenses to a user.

Changes a user's password.

Checks membership in a list of group IDs.

Checks membership in a list of group or directory role IDs.

Creates a new user.

Batch query variant of create/2. Returns a %Batch.Request{}.

Deletes a user.

Batch query variant of delete/2. Returns a %Batch.Request{}.

Delta query for users. Returns changes since the last sync.

Batch query variant of delta/1.

Exports a user's personal data.

Gets a user by ID or userPrincipalName.

Gets a user's manager.

Returns all group IDs that a user is a member of (transitive).

Returns all group and directory role IDs that a user is a member of (transitive).

Gets a user's photo metadata.

Gets a user's photo binary content.

Batch query variant of get/2. Returns a %Batch.Request{}.

Lists users in the organization.

Lists app role assignments for a user.

Lists authentication methods registered for a user.

Lists a user's direct reports.

Batch query variant of list_direct_reports/2. Returns a %Batch.Request{}.

Lists license details for a user.

Lists groups and directory roles the user is a member of.

Batch query variant of list_member_of/2. Returns a %Batch.Request{}.

Lists delegated permission grants (oauth2PermissionGrants) for a user.

Batch query variant of list/1. Returns a %Batch.Request{}.

Lists scoped-role memberships for a user.

Lists groups and directory roles the user is a transitive member of.

Removes an app role assignment from a user.

Removes a user's manager assignment.

Revokes all sign-in sessions for a user.

Updates a user's photo with binary content.

Batch query variant of update/3. Returns a %Batch.Request{}.

Functions

add_app_role_assignment(user_id, attrs, opts \\ [])

@spec add_app_role_assignment(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, term()}

Adds an app role assignment to a user.

add_app_role_assignment_query(user_id, attrs, opts \\ [])

@spec add_app_role_assignment_query(String.t(), map(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of add_app_role_assignment/3.

assign_license(user_id, attrs, opts \\ [])

@spec assign_license(String.t(), map(), keyword()) :: {:ok, map()} | {:error, term()}

Assigns licenses to a user.

assign_license_query(user_id, attrs, opts \\ [])

@spec assign_license_query(String.t(), map(), keyword()) :: GraphApi.Batch.Request.t()

Batch query variant of assign_license/3.

assign_manager(user_id, manager_id, opts \\ [])

@spec assign_manager(String.t(), String.t(), keyword()) :: :ok | {:error, term()}

Assigns a manager to a user.

assign_manager_query(user_id, manager_id, opts \\ [])

@spec assign_manager_query(String.t(), String.t(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of assign_manager/3.

change_password(user_id, attrs, opts \\ [])

@spec change_password(String.t(), map(), keyword()) :: :ok | {:error, term()}

Changes a user's password.

change_password_query(user_id, attrs, opts \\ [])

@spec change_password_query(String.t(), map(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of change_password/3.

check_member_groups(user_id, attrs, opts \\ [])

@spec check_member_groups(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, term()}

Checks membership in a list of group IDs.

check_member_groups_query(user_id, attrs, opts \\ [])

@spec check_member_groups_query(String.t(), map(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of check_member_groups/3.

check_member_objects(user_id, attrs, opts \\ [])

@spec check_member_objects(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, term()}

Checks membership in a list of group or directory role IDs.

check_member_objects_query(user_id, attrs, opts \\ [])

@spec check_member_objects_query(String.t(), map(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of check_member_objects/3.

create(attrs, opts \\ [])

@spec create(
  map(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Creates a new user.

create_query(attrs, opts \\ [])

@spec create_query(
  map(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of create/2. Returns a %Batch.Request{}.

delete(user_id, opts \\ [])

@spec delete(
  String.t(),
  keyword()
) :: :ok | {:error, term()}

Deletes a user.

delete_query(user_id, opts \\ [])

@spec delete_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of delete/2. Returns a %Batch.Request{}.

delta(opts \\ [])

@spec delta(keyword()) :: {:ok, GraphApi.Delta.delta_page()} | {:error, term()}

Delta query for users. Returns changes since the last sync.

See GraphApi.Delta for details.

delta_query(opts \\ [])

@spec delta_query(keyword()) :: GraphApi.Batch.Request.t()

Batch query variant of delta/1.

export_personal_data(user_id, attrs, opts \\ [])

@spec export_personal_data(String.t(), map(), keyword()) :: :ok | {:error, term()}

Exports a user's personal data.

export_personal_data_query(user_id, attrs, opts \\ [])

@spec export_personal_data_query(String.t(), map(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of export_personal_data/3.

get(user_id, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Gets a user by ID or userPrincipalName.

get_manager(user_id, opts \\ [])

@spec get_manager(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Gets a user's manager.

get_manager_query(user_id, opts \\ [])

@spec get_manager_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of get_manager/2.

get_member_groups(user_id, attrs, opts \\ [])

@spec get_member_groups(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, term()}

Returns all group IDs that a user is a member of (transitive).

get_member_groups_query(user_id, attrs, opts \\ [])

@spec get_member_groups_query(String.t(), map(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of get_member_groups/3.

get_member_objects(user_id, attrs, opts \\ [])

@spec get_member_objects(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, term()}

Returns all group and directory role IDs that a user is a member of (transitive).

get_member_objects_query(user_id, attrs, opts \\ [])

@spec get_member_objects_query(String.t(), map(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of get_member_objects/3.

get_photo(user_id, opts \\ [])

@spec get_photo(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Gets a user's photo metadata.

get_photo_content(user_id, opts \\ [])

@spec get_photo_content(
  String.t(),
  keyword()
) :: {:ok, binary()} | {:error, term()}

Gets a user's photo binary content.

get_photo_query(user_id, opts \\ [])

@spec get_photo_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of get_photo/2.

get_query(user_id, opts \\ [])

@spec get_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of get/2. Returns a %Batch.Request{}.

list(opts \\ [])

@spec list(keyword()) :: {:ok, map()} | {:error, term()}

Lists users in the organization.

Options

  • :client - A configured Req client
  • :query - An %OData{} struct for query parameters
  • :as - Schema or view module to cast each result

list_app_role_assignments(user_id, opts \\ [])

@spec list_app_role_assignments(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists app role assignments for a user.

list_app_role_assignments_query(user_id, opts \\ [])

@spec list_app_role_assignments_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of list_app_role_assignments/2.

list_authentication_methods(user_id, opts \\ [])

@spec list_authentication_methods(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists authentication methods registered for a user.

list_authentication_methods_query(user_id, opts \\ [])

@spec list_authentication_methods_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of list_authentication_methods/2.

list_direct_reports(user_id, opts \\ [])

@spec list_direct_reports(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists a user's direct reports.

list_direct_reports_query(user_id, opts \\ [])

@spec list_direct_reports_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of list_direct_reports/2. Returns a %Batch.Request{}.

list_license_details(user_id, opts \\ [])

@spec list_license_details(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists license details for a user.

list_license_details_query(user_id, opts \\ [])

@spec list_license_details_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of list_license_details/2.

list_member_of(user_id, opts \\ [])

@spec list_member_of(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists groups and directory roles the user is a member of.

list_member_of_query(user_id, opts \\ [])

@spec list_member_of_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of list_member_of/2. Returns a %Batch.Request{}.

list_oauth2_permission_grants(user_id, opts \\ [])

@spec list_oauth2_permission_grants(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists delegated permission grants (oauth2PermissionGrants) for a user.

list_oauth2_permission_grants_query(user_id, opts \\ [])

@spec list_oauth2_permission_grants_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of list_oauth2_permission_grants/2.

list_query(opts \\ [])

@spec list_query(keyword()) :: GraphApi.Batch.Request.t()

Batch query variant of list/1. Returns a %Batch.Request{}.

list_scoped_role_member_of(user_id, opts \\ [])

@spec list_scoped_role_member_of(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists scoped-role memberships for a user.

list_scoped_role_member_of_query(user_id, opts \\ [])

@spec list_scoped_role_member_of_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of list_scoped_role_member_of/2.

list_transitive_member_of(user_id, opts \\ [])

@spec list_transitive_member_of(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists groups and directory roles the user is a transitive member of.

list_transitive_member_of_query(user_id, opts \\ [])

@spec list_transitive_member_of_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of list_transitive_member_of/2.

remove_app_role_assignment(user_id, assignment_id, opts \\ [])

@spec remove_app_role_assignment(String.t(), String.t(), keyword()) ::
  :ok | {:error, term()}

Removes an app role assignment from a user.

remove_app_role_assignment_query(user_id, assignment_id, opts \\ [])

@spec remove_app_role_assignment_query(String.t(), String.t(), keyword()) ::
  GraphApi.Batch.Request.t()

Batch query variant of remove_app_role_assignment/3.

remove_manager(user_id, opts \\ [])

@spec remove_manager(
  String.t(),
  keyword()
) :: :ok | {:error, term()}

Removes a user's manager assignment.

remove_manager_query(user_id, opts \\ [])

@spec remove_manager_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of remove_manager/2.

revoke_sign_in_sessions(user_id, opts \\ [])

@spec revoke_sign_in_sessions(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Revokes all sign-in sessions for a user.

revoke_sign_in_sessions_query(user_id, opts \\ [])

@spec revoke_sign_in_sessions_query(
  String.t(),
  keyword()
) :: GraphApi.Batch.Request.t()

Batch query variant of revoke_sign_in_sessions/2.

update(user_id, attrs, opts \\ [])

@spec update(String.t(), map(), keyword()) :: {:ok, map()} | :ok | {:error, term()}

Updates a user.

update_photo_content(user_id, content, opts \\ [])

@spec update_photo_content(String.t(), binary(), keyword()) :: :ok | {:error, term()}

Updates a user's photo with binary content.

update_query(user_id, attrs, opts \\ [])

@spec update_query(String.t(), map(), keyword()) :: GraphApi.Batch.Request.t()

Batch query variant of update/3. Returns a %Batch.Request{}.