{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-risky-service-principal-history-item-schema.json",
  "title": "microsoft.graph.riskyServicePrincipalHistoryItem",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-ad-identityprotection-riskyserviceprincipal-api-openapi.yml#/components/schemas/microsoft.graph.riskyServicePrincipalHistoryItem",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.riskyServicePrincipal"
    },
    {
      "title": "riskyServicePrincipalHistoryItem",
      "type": "object",
      "properties": {
        "activity": {
          "$ref": "#/$defs/microsoft.graph.riskServicePrincipalActivity"
        },
        "initiatedBy": {
          "type": [
            "string",
            "null"
          ],
          "description": "The identifier of the actor of the operation."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  ],
  "$defs": {
    "microsoft.graph.entity": {
      "title": "entity",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.riskDetail": {
      "title": "riskDetail",
      "enum": [
        "none",
        "adminGeneratedTemporaryPassword",
        "userPerformedSecuredPasswordChange",
        "userPerformedSecuredPasswordReset",
        "adminConfirmedSigninSafe",
        "aiConfirmedSigninSafe",
        "userPassedMFADrivenByRiskBasedPolicy",
        "adminDismissedAllRiskForUser",
        "adminConfirmedSigninCompromised",
        "hidden",
        "adminConfirmedUserCompromised",
        "unknownFutureValue",
        "m365DAdminDismissedDetection",
        "adminConfirmedServicePrincipalCompromised",
        "adminDismissedAllRiskForServicePrincipal",
        "userChangedPasswordOnPremises",
        "adminDismissedRiskForSignIn",
        "adminConfirmedAccountSafe",
        "microsoftRevokedSessions"
      ],
      "type": "string"
    },
    "microsoft.graph.riskLevel": {
      "title": "riskLevel",
      "enum": [
        "low",
        "medium",
        "high",
        "hidden",
        "none",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.riskServicePrincipalActivity": {
      "title": "riskServicePrincipalActivity",
      "type": "object",
      "properties": {
        "detail": {
          "$ref": "#/$defs/microsoft.graph.riskDetail"
        },
        "riskEventTypes": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": "The type of risk event detected. The possible values are: investigationsThreatIntelligence, generic, adminConfirmedServicePrincipalCompromised, suspiciousSignins, leakedCredentials, anomalousServicePrincipalActivity, maliciousApplication, suspiciousApplication."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.riskState": {
      "title": "riskState",
      "enum": [
        "none",
        "confirmedSafe",
        "remediated",
        "dismissed",
        "atRisk",
        "confirmedCompromised",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.riskyServicePrincipal": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "riskyServicePrincipal",
          "type": "object",
          "properties": {
            "appId": {
              "type": [
                "string",
                "null"
              ],
              "description": "The globally unique identifier for the associated application (its appId property), if any."
            },
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The display name for the service principal."
            },
            "isEnabled": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "true if the service principal account is enabled; otherwise, false."
            },
            "isProcessing": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Indicates whether Microsoft Entra ID is currently processing the service principal's risky state."
            },
            "riskDetail": {
              "$ref": "#/$defs/microsoft.graph.riskDetail"
            },
            "riskLastUpdatedDateTime": {
              "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",
                "null"
              ],
              "description": "The date and time that the risk state was last updated. The DateTimeOffset type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2021 is 2021-01-01T00:00:00Z. Supports $filter (eq).",
              "format": "date-time"
            },
            "riskLevel": {
              "$ref": "#/$defs/microsoft.graph.riskLevel"
            },
            "riskState": {
              "$ref": "#/$defs/microsoft.graph.riskState"
            },
            "servicePrincipalType": {
              "type": [
                "string",
                "null"
              ],
              "description": "Identifies whether the service principal represents an Application, a ManagedIdentity, or a legacy application (socialIdp). This is set by Microsoft Entra ID internally and is inherited from servicePrincipal."
            },
            "history": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.riskyServicePrincipalHistoryItem"
              },
              "description": "Represents the risk history of Microsoft Entra service principals.",
              "x-ms-navigationProperty": true
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.riskyServicePrincipalHistoryItem": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.riskyServicePrincipal"
        },
        {
          "title": "riskyServicePrincipalHistoryItem",
          "type": "object",
          "properties": {
            "activity": {
              "$ref": "#/$defs/microsoft.graph.riskServicePrincipalActivity"
            },
            "initiatedBy": {
              "type": [
                "string",
                "null"
              ],
              "description": "The identifier of the actor of the operation."
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    }
  }
}