schemaExtension resource type (schema extensions)

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

The schema extension example shows how you to use schema extensions to add custom data to a group.

Schema extensions are supported for the following resource types:

Methods

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.

Properties

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. contoso.com) 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 user, device, event, group, message, post.

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"]
}