{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-managed-app-registration-schema.json",
  "title": "microsoft.graph.managedAppRegistration",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-deviceappmanagement-managedappregistration-api-openapi.yml#/components/schemas/microsoft.graph.managedAppRegistration",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "managedAppRegistration",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "appIdentifier": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.mobileAppIdentifier"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The app package Identifier"
        },
        "applicationVersion": {
          "type": [
            "string",
            "null"
          ],
          "description": "App version"
        },
        "createdDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": "string",
          "description": "Date and time of creation",
          "format": "date-time"
        },
        "deviceName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Host device name"
        },
        "deviceTag": {
          "type": [
            "string",
            "null"
          ],
          "description": "App management SDK generated tag, which helps relate apps hosted on the same device. Not guaranteed to relate apps in all conditions."
        },
        "deviceType": {
          "type": [
            "string",
            "null"
          ],
          "description": "Host device type"
        },
        "flaggedReasons": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.managedAppFlaggedReason"
          },
          "description": "Zero or more reasons an app registration is flagged. E.g. app running on rooted device"
        },
        "lastSyncDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": "string",
          "description": "Date and time of last the app synced with management service.",
          "format": "date-time"
        },
        "managementSdkVersion": {
          "type": [
            "string",
            "null"
          ],
          "description": "App management SDK version"
        },
        "platformVersion": {
          "type": [
            "string",
            "null"
          ],
          "description": "Operating System version"
        },
        "userId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The user Id to who this app registration belongs."
        },
        "version": {
          "type": [
            "string",
            "null"
          ],
          "description": "Version of the entity."
        },
        "appliedPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.managedAppPolicy"
          },
          "description": "Zero or more policys already applied on the registered app when it last synchronized with managment service.",
          "x-ms-navigationProperty": true
        },
        "intendedPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.managedAppPolicy"
          },
          "description": "Zero or more policies admin intended for the app as of now.",
          "x-ms-navigationProperty": true
        },
        "operations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.managedAppOperation"
          },
          "description": "Zero or more long running operations triggered on the app registration.",
          "x-ms-navigationProperty": true
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "The ManagedAppEntity is the base entity type for all other entity types under app management workflow."
    }
  ],
  "$defs": {
    "microsoft.graph.entity": {
      "title": "entity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.managedAppFlaggedReason": {
      "title": "managedAppFlaggedReason",
      "enum": [
        "none",
        "rootedDevice"
      ],
      "type": "string",
      "description": "The reason for which a user has been flagged",
      "x-ms-enum": {
        "name": "managedAppFlaggedReason",
        "modelAsString": false,
        "values": [
          {
            "value": "none",
            "description": "No issue.",
            "name": "none"
          },
          {
            "value": "rootedDevice",
            "description": "The app registration is running on a rooted/unlocked device.",
            "name": "rootedDevice"
          }
        ]
      }
    },
    "microsoft.graph.managedAppOperation": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "managedAppOperation",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The operation name."
            },
            "lastModifiedDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": "string",
              "description": "The last time the app operation was modified.",
              "format": "date-time"
            },
            "state": {
              "type": [
                "string",
                "null"
              ],
              "description": "The current state of the operation"
            },
            "version": {
              "type": [
                "string",
                "null"
              ],
              "description": "Version of the entity."
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "Represents an operation applied against an app registration."
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.managedAppOperation"
    },
    "microsoft.graph.managedAppPolicy": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "managedAppPolicy",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "createdDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": "string",
              "description": "The date and time the policy was created.",
              "format": "date-time"
            },
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "The policy's description."
            },
            "displayName": {
              "type": "string",
              "description": "Policy display name."
            },
            "lastModifiedDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": "string",
              "description": "Last time the policy was modified.",
              "format": "date-time"
            },
            "version": {
              "type": [
                "string",
                "null"
              ],
              "description": "Version of the entity."
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "The ManagedAppPolicy resource represents a base type for platform specific policies."
        }
      ]
    },
    "microsoft.graph.mobileAppIdentifier": {
      "title": "mobileAppIdentifier",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "The identifier for a mobile app."
    }
  }
}