Set a user's emailAuthenticationMethod object. Email authentication is a self-service password reset method. A user may only have one email authentication method.
Permissions
One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.
Permissions acting on self
Permission type
Permissions (from least to most privileged)
Delegated (work or school account)
UserAuthenticationMethod.ReadWrite
Delegated (personal Microsoft account)
Not supported.
Application
Not supported.
Permissions acting on other users
Permission type
Permissions (from least to most privileged)
Delegated (work or school account)
UserAuthenticationMethod.ReadWrite.All
Delegated (personal Microsoft account)
Not supported.
Application
UserAuthenticationMethod.ReadWrite.All
For delegated scenarios where an admin is acting on another user, the administrator needs the Authentication Administrator or Privileged Authentication AdministratorAzure AD role.
HTTP request
Add an email method to your own account. For a signed-in user to update their own authentication method, they must have satisfied a multi-factor authentication requirement during sign in.
POST /me/authentication/emailMethods
Add an email authentication method to another user's account.
POST /users/{id | userPrincipalName}/authentication/emailMethods
Request headers
Name
Description
Authorization
Bearer {token}. Required.
Content-Type
application/json. Required.
Request body
In the request body, supply a JSON representation of the emailAuthenticationMethod object with the desired email address.
The following table shows the properties that are required when you create the emailAuthenticationMethod.
Property
Type
Description
emailAddress
String
Email address.
Response
If successful, this method returns a 201 Created response code and a new emailAuthenticationMethod object in the response body.
POST https://graph.microsoft.com/v1.0/users/kim@contoso.com/authentication/emailMethods
Content-Type: application/json
{
"emailAddress": "kim@contoso.com"
}
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var requestBody = new EmailAuthenticationMethod
{
EmailAddress = "kim@contoso.com",
};
var result = await graphClient.Users["{user-id}"].Authentication.EmailMethods.PostAsync(requestBody);
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new EmailAuthenticationMethod();
$requestBody->setEmailAddress('kim@contoso.com');
$result = $graphServiceClient->users()->byUserId('user-id')->authentication()->emailMethods()->post($requestBody);