extensionProperty resource type (directory extensions)
Namespace: microsoft.graph
Represents a directory extension that can be used to add a custom property to directory objects without requiring an external data store. For example, if an organization has a line of business (LOB) application that requires a Skype ID for each user in the directory, Microsoft Graph can be used to register a new property named skypeId on the directory's User object, and then write a value to the new property for a specific user. Directory extensions can also be available in multi-tenant apps that have been consented to in the tenant.
Directory extensions can be added to following directory objects:
Only 100 extension values, across all types and all applications, can be written to any single Microsoft Entra resource.
Use this resource and associated methods to manage the directory extension definitions. To manage the directory extension data on the extended resource instance, use the same REST request that you use to manage the resource instance.
For more information about Microsoft Graph extensibility, see Add custom properties to resources using extensions.
Inherits from directoryObject.
Note
Extensions created through Azure AD Graph (currently in its retirement cycle) and custom data synchronized from on-premises Active Directory using Microsoft Entra Connect Sync are represented as directory extensions in Microsoft Graph.
Methods
Method | Return Type | Description |
---|---|---|
Create | extensionProperty | Create a directory extension on an application object. |
List | extensionProperty collection | List directory extensions on an application object. |
Get | extensionProperty collection | Get a directory extension an application object. |
Delete | None | Delete directory extension from an application object. You can delete only directory extensions that aren't synced from on-premises active directory. |
Get available extension properties | extensionProperty collection | Return all directory extension definitions that have been registered in a directory, including through multi-tenant apps. |
Tip
- To set a value for the extension property to an instance of a resource that is specified in targetObjects, use the Update operation of the resource. For example, the Update user API to set the value for a user.
- To remove the extension property and its value from an instance of a resource that is specified in targetObjects, set the value of the extension property to
null
.
Properties
Property | Type | Description |
---|---|---|
appDisplayName | String | Display name of the application object on which this extension property is defined. Read-only. |
dataType | String | Specifies the data type of the value the extension property can hold. Following values are supported.
|
deletedDateTime | DateTimeOffset | Date and time when this object was deleted. Always null when the object hasn't been deleted. Inherited from directoryObject. |
isSyncedFromOnPremises | Boolean | Indicates if this extension property was synced from on-premises active directory using Microsoft Entra Connect. Read-only. |
name | String | Name of the extension property. Not nullable. Supports $filter (eq ). |
isMultiValued | Boolean | Defines the directory extension as a multi-valued property. When true , the directory extension property can store a collection of objects of the dataType; for example, a collection of string types such as "extension_b7b1c57b532f40b8b5ed4b7a7ba67401_jobGroupTracker": ["String 1", "String 2"] . The default value is false . Supports $filter (eq ). |
targetObjects | String collection | Following values are supported. Not nullable.
|
Relationships
None
JSON representation
The following JSON representation shows the resource type.
{
"@odata.type": "#microsoft.graph.extensionProperty",
"appDisplayName": "String",
"dataType": "String",
"deletedDateTime": "String (timestamp)",
"id": "String (identifier)",
"isSyncedFromOnPremises": "Boolean",
"isMultiValued": "Boolean",
"name": "String",
"targetObjects": [
"String"
]
}