Create phoneMethod

Namespace: microsoft.graph

Add a new phone authentication method for a user. 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.

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 admin needs one of the following Azure AD roles:

  • Global administrator
  • Privileged authentication administrator
  • Authentication administrator

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 or 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.

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

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