schemaExtension resource type (schema extensions)

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 avaialbe schemaExtension defintions 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.
id String The unique identifier for the schema extension definition. The value must be a concatenation of one of your verified domains (e.g. and a name for the schema extension - e.g. contoso_mySchema.
owner String The appId of the application that created the schema extension. Read-only.
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.
targetTypes String collection Set of Microsoft Graph types (that can support extensions) that the schema extension can be applied to. Select from administrativeUnit, 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"]