schemaExtension resource type (schema extensions)

Namespace: microsoft.graph

Schema extensions allow you to define a schema to extend and add strongly-typed custom data to a resource type. The custom data appears as a complex type on the extended resource.

Schema extensions are supported by the following resource types:

See the schema extension example to learn how to add custom data to groups.


Method Return Type Description
Create schemaExtension Create a schema extension definition.
List schemaExtension List the available schemaExtension definitions and their properties.
Get schemaExtension Read the properties of a specific schemaExtension definition.
Update schemaExtension Update a schemaExtension definition.
Delete None Delete a schemaExtension definition.


Property Type Description
description String Description for the schema extension. Supports $filter (eq).
id String The unique identifier for the schema extension definition.
You can assign a value in one of two ways:
  • Concatenate the name of one of your verified domains with a name for the schema extension to form a unique string in this format, {domainName}_{schemaName}. As an example, contoso_mySchema.
  • Provide a schema name, and let Microsoft Graph use that schema name to complete the id assignment in this format: ext{8-random-alphanumeric-chars}_{schema-name}. An example would be extkvbmkofy_mySchema.
This property cannot be changed after creation. Supports $filter (eq). Note: We recommend that your id starts with an alphabetic letter between A-Z because query capabilities might be limited for IDs that begin with integers.
owner String The appId of the application that is the owner of the schema extension. This property can be supplied on creation, to set the owner. If not supplied, then the calling application's appId will be set as the owner. In either case, the signed-in user must be the owner of the application. So, for example, if creating a new schema extension definition using Graph Explorer, you must supply the owner property. Once set, this property is read-only and cannot be changed. Supports $filter (eq).
properties extensionSchemaProperty collection The collection of property names and types that make up the schema extension definition.
status String The lifecycle state of the schema extension. Possible states are InDevelopment, Available, and Deprecated. Automatically set to InDevelopment on creation. Schema extensions provides more information on the possible state transitions and behaviors. Supports $filter (eq).
targetTypes String collection Set of Microsoft Graph types (that can support extensions) that the schema extension can be applied to. Select from contact, device, event, group, message, organization, post, or user.

JSON representation

Here is a JSON representation of the resource.

  "description": "String",
  "id": "String (identifier)",
  "owner": "String",
  "properties": [{"@odata.type": "microsoft.graph.extensionSchemaProperty"}],
  "status": "String",
  "targetTypes": ["String"]