Create phoneAuthenticationMethod

Namespace: microsoft.graph


APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

Add a new phone authentication method. A user may only have one phone of each type, captured in the phoneType property. This means, for example, adding a mobile phone to a user with a preexisting mobile phone will fail. Additionally, a user must always have a mobile phone before adding an alternateMobile phone.

Adding a phone number makes it available for use in both Azure multi-factor authentication (MFA) and self-service password reset (SSPR), if enabled.

Additionally, if a user is enabled by policy to use SMS sign-in and a mobile number is added, the system will attempt to register the number for use in that system.


One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions acting on self (from least to most privileged) Permissions acting on others (from least to most privileged)
Delegated (work or school account) UserAuthenticationMethod.ReadWrite UserAuthenticationMethod.ReadWrite.All
Delegated (personal Microsoft account) Not supported. Not supported.
Application Not applicable. UserAuthenticationMethod.ReadWrite.All

For delegated scenarios where an admin is acting on another user, the admin needs one of the following roles:

  • Global admin
  • Privileged authentication admin
  • Authentication admin

HTTP request

POST /me/authentication/phoneMethods
POST /users/{id | userPrincipalName}/authentication/phoneMethods

Request headers

Name Description
Authorization Bearer {token}. Required.
Content-Type application/json. Required.

Request body

In the request body, supply a JSON representation of a phoneAuthenticationMethod object. The JSON must include phoneNumber and phoneType, but not smsSignInState (which is read-only).

Property Type Description
phoneNumber String The phone number to text or call for authentication. Phone numbers use the format "+<country code> <number>x<extension>", with extension optional. For example, +1 5555551234 or +1 5555551234x123 are valid. Numbers are rejected when creating/updating if they do not match the required format.
phoneType String Possible values are: mobile, alternateMobile, and office.


If successful, this method returns a 201 Created response code and a new phoneAuthenticationMethod object in the response body.



The following is an example of the request.

Content-type: application/json

  "phoneNumber": "+1 2065555555",
  "phoneType": "mobile"


The following is an example of the response.

Note: The response object shown here might be shortened for readability. All the properties will be returned from an actual call.

HTTP/1.1 201 Created
Content-type: application/json

  "phoneNumber": "+1 2065555555",
  "phoneType": "phoneType-value",
  "smsSignInState": "ready",
  "id": "3179e48a-750b-4051-897c-87b9720928f7"