{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-entra/json-schema/microsoft-entra-app-role-assignment-collection-response-schema.json",
  "title": "AppRoleAssignmentCollectionResponse",
  "description": "Paged collection of app role assignments",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-entra-service-principals-api-openapi.yml#/components/schemas/AppRoleAssignmentCollectionResponse",
  "type": "object",
  "properties": {
    "@odata.context": {
      "type": "string"
    },
    "@odata.count": {
      "type": "integer"
    },
    "@odata.nextLink": {
      "type": "string",
      "format": "uri"
    },
    "value": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AppRoleAssignment"
      }
    }
  },
  "$defs": {
    "AppRoleAssignment": {
      "type": "object",
      "description": "Represents an app role granted to a user, group, or service principal",
      "properties": {
        "id": {
          "type": "string",
          "readOnly": true,
          "description": "Unique identifier for the assignment (GUID)"
        },
        "appRoleId": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the app role to assign. Use the default role ID 00000000-0000-0000-0000-000000000000 for default access."
        },
        "principalId": {
          "type": "string",
          "format": "uuid",
          "description": "The unique identifier of the user, group, or service principal being granted the app role"
        },
        "principalType": {
          "type": "string",
          "description": "The type of the assigned principal",
          "enum": [
            "User",
            "Group",
            "ServicePrincipal"
          ]
        },
        "principalDisplayName": {
          "type": "string",
          "readOnly": true,
          "description": "Display name of the principal"
        },
        "resourceId": {
          "type": "string",
          "format": "uuid",
          "description": "The unique identifier of the resource service principal to which the assignment is made"
        },
        "resourceDisplayName": {
          "type": "string",
          "readOnly": true,
          "description": "Display name of the resource application"
        },
        "createdDateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Time when the app role assignment was created"
        }
      }
    }
  }
}