Add a contact to the root Contacts folder or to the contacts endpoint of another contact folder.
Permissions
One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.
Permission type
Permissions (from least to most privileged)
Delegated (work or school account)
Contacts.ReadWrite
Delegated (personal Microsoft account)
Contacts.ReadWrite
Application
Contacts.ReadWrite
HTTP request
POST /me/contacts
POST /users/{id | userPrincipalName}/contacts
POST /me/contactFolders/{contactFolderId}/contacts
POST /users/{id | userPrincipalName}/contactFolders/{contactFolderId}/contacts
Request headers
Header
Value
Authorization
Bearer {token}. Required.
Content-Type
application/json
Request body
In the request body, supply a JSON representation of contact object.
Response
If successful, this method returns 201 Created response code and contact object in the response body.
var graphClient = new GraphServiceClient(requestAdapter);
var requestBody = new Contact
{
GivenName = "Pavel",
Surname = "Bansky",
EmailAddresses = new List<EmailAddress>
{
new EmailAddress
{
Address = "pavelb@fabrikam.onmicrosoft.com",
Name = "Pavel Bansky",
},
},
BusinessPhones = new List<string>
{
"+1 732 555 0102",
},
};
var result = await graphClient.Me.Contacts.PostAsync(requestBody);
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new Contact();
$requestBody->setGivenName('Pavel');
$requestBody->setSurname('Bansky');
$emailAddressesEmailAddress1 = new EmailAddress();
$emailAddressesEmailAddress1->setAddress('pavelb@fabrikam.onmicrosoft.com');
$emailAddressesEmailAddress1->setName('Pavel Bansky');
$emailAddressesArray []= $emailAddressesEmailAddress1;
$requestBody->setEmailAddresses($emailAddressesArray);
$requestBody->setBusinessPhones(['+1 732 555 0102', ]);
$requestResult = $graphServiceClient->me()->contacts()->post($requestBody);