{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-access-package-resource-schema.json",
  "title": "microsoft.graph.accessPackageResource",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-ad-identitygovernance-accesspackagecatalog-api-openapi.yml#/components/schemas/microsoft.graph.accessPackageResource",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "accessPackageResource",
      "type": "object",
      "properties": {
        "attributes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.accessPackageResourceAttribute"
          },
          "description": "Contains information about the attributes to be collected from the requestor and sent to the resource application."
        },
        "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",
            "null"
          ],
          "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.",
          "format": "date-time"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "A description for the resource."
        },
        "displayName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The display name of the resource, such as the application name, group name or site name."
        },
        "modifiedDateTime": {
          "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 Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.",
          "format": "date-time"
        },
        "originId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The unique identifier of the resource in the origin system. For a Microsoft Entra group, this is the identifier of the group."
        },
        "originSystem": {
          "type": [
            "string",
            "null"
          ],
          "description": "The type of the resource in the origin system, such as SharePointOnline, AadApplication or AadGroup."
        },
        "environment": {
          "$ref": "#/$defs/microsoft.graph.accessPackageResourceEnvironment"
        },
        "roles": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.accessPackageResourceRole"
          },
          "description": "Read-only. Nullable. Supports $expand.",
          "x-ms-navigationProperty": true
        },
        "scopes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.accessPackageResourceScope"
          },
          "description": "Read-only. Nullable. Supports $expand.",
          "x-ms-navigationProperty": true
        },
        "uploadSessions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.customDataProvidedResourceUploadSession"
          },
          "description": "The upload sessions for uploading external access data to this resource through the Bring Your Own Data (BYOD) flow.",
          "x-ms-navigationProperty": true
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  ],
  "$defs": {
    "microsoft.graph.accessPackageResource": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "accessPackageResource",
          "type": "object",
          "properties": {
            "attributes": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.accessPackageResourceAttribute"
              },
              "description": "Contains information about the attributes to be collected from the requestor and sent to the resource application."
            },
            "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",
                "null"
              ],
              "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.",
              "format": "date-time"
            },
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "A description for the resource."
            },
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The display name of the resource, such as the application name, group name or site name."
            },
            "modifiedDateTime": {
              "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 Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.",
              "format": "date-time"
            },
            "originId": {
              "type": [
                "string",
                "null"
              ],
              "description": "The unique identifier of the resource in the origin system. For a Microsoft Entra group, this is the identifier of the group."
            },
            "originSystem": {
              "type": [
                "string",
                "null"
              ],
              "description": "The type of the resource in the origin system, such as SharePointOnline, AadApplication or AadGroup."
            },
            "environment": {
              "$ref": "#/$defs/microsoft.graph.accessPackageResourceEnvironment"
            },
            "roles": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.accessPackageResourceRole"
              },
              "description": "Read-only. Nullable. Supports $expand.",
              "x-ms-navigationProperty": true
            },
            "scopes": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.accessPackageResourceScope"
              },
              "description": "Read-only. Nullable. Supports $expand.",
              "x-ms-navigationProperty": true
            },
            "uploadSessions": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.customDataProvidedResourceUploadSession"
              },
              "description": "The upload sessions for uploading external access data to this resource through the Bring Your Own Data (BYOD) flow.",
              "x-ms-navigationProperty": true
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.accessPackageResourceAttribute": {
      "title": "accessPackageResourceAttribute",
      "type": "object",
      "properties": {
        "destination": {
          "$ref": "#/$defs/microsoft.graph.accessPackageResourceAttributeDestination"
        },
        "isEditable": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "isPersistedOnAssignmentRemoval": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "The name of the attribute in the end system. If the destination is accessPackageUserDirectoryAttributeStore, then a user property such as jobTitle or a directory schema extension for the user object type, such as extension2b676109c7c74ae2b41549205f1947edpersonalTitle."
        },
        "source": {
          "$ref": "#/$defs/microsoft.graph.accessPackageResourceAttributeSource"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.accessPackageResourceAttributeDestination": {
      "title": "accessPackageResourceAttributeDestination",
      "type": "object",
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.accessPackageResourceAttributeSource": {
      "title": "accessPackageResourceAttributeSource",
      "type": "object",
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.accessPackageResourceEnvironment": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "accessPackageResourceEnvironment",
          "type": "object",
          "properties": {
            "connectionInfo": {
              "$ref": "#/$defs/microsoft.graph.connectionInfo"
            },
            "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",
                "null"
              ],
              "description": "The date and time that this object was created. 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, 2014 is 2014-01-01T00:00:00Z.",
              "format": "date-time"
            },
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "The description of this object."
            },
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The display name of this object."
            },
            "isDefaultEnvironment": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Determines whether this is default environment or not. It is set to true for all static origin systems, such as Microsoft Entra groups and Microsoft Entra Applications."
            },
            "modifiedDateTime": {
              "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 this object was last modified. 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, 2014 is 2014-01-01T00:00:00Z.",
              "format": "date-time"
            },
            "originId": {
              "type": [
                "string",
                "null"
              ],
              "description": "The unique identifier of this environment in the origin system."
            },
            "originSystem": {
              "type": [
                "string",
                "null"
              ],
              "description": "The type of the resource in the origin system, that is, SharePointOnline. Requires $filter (eq)."
            },
            "resources": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.accessPackageResource"
              },
              "description": "Read-only. Required.",
              "x-ms-navigationProperty": true
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.accessPackageResourceRole": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "accessPackageResourceRole",
          "type": "object",
          "properties": {
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "A description for the resource role."
            },
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The display name of the resource role such as the role defined by the application."
            },
            "originId": {
              "type": [
                "string",
                "null"
              ],
              "description": "The unique identifier of the resource role in the origin system. For a SharePoint Online site, the originId is the sequence number of the role in the site."
            },
            "originSystem": {
              "type": [
                "string",
                "null"
              ],
              "description": "The type of the resource in the origin system, such as SharePointOnline, AadApplication, AzureResources, or AadGroup."
            },
            "type": {
              "$ref": "#/$defs/microsoft.graph.roleType"
            },
            "resource": {
              "$ref": "#/$defs/microsoft.graph.accessPackageResource"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.accessPackageResourceScope": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "accessPackageResourceScope",
          "type": "object",
          "properties": {
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "The description of the scope."
            },
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The display name of the scope."
            },
            "isRootScope": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "True if the scopes are arranged in a hierarchy and this is the top or root scope of the resource."
            },
            "originId": {
              "type": [
                "string",
                "null"
              ],
              "description": "The unique identifier of the resource in the origin system. If a Microsoft Entra group, originId is the identifier of the group. Supports $filter (eq)."
            },
            "originSystem": {
              "type": [
                "string",
                "null"
              ],
              "description": "The type of the resource in the origin system, such as SharePointOnline, AadApplication, AadGroup, AzureResources, or CustomDataProvidedResource. Supports $filter (eq)."
            },
            "resource": {
              "$ref": "#/$defs/microsoft.graph.accessPackageResource"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.connectionInfo": {
      "title": "connectionInfo",
      "type": "object",
      "properties": {
        "url": {
          "type": [
            "string",
            "null"
          ],
          "description": "The endpoint that is used by Entitlement Management to communicate with the access package resource."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.customDataProvidedResourceFile": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "customDataProvidedResourceFile",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the uploaded file, including the file extension. Required.  Supports $filter (eq, ne)  and $orderby."
            },
            "size": {
              "type": "number",
              "description": "Size of the file in bytes. Read-only.  Supports $filter (eq, ne, gt, ge, lt, le) and $orderby.",
              "format": "int64"
            },
            "uploadedDateTime": {
              "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": "Timestamp when the file was uploaded. Read-only.  Supports $filter (eq, ne, gt, ge, lt, le) and $orderby.",
              "format": "date-time"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.customDataProvidedResourcePayloads.data": {
      "title": "data",
      "type": "object",
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.customDataProvidedResourceUploadSession": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "customDataProvidedResourceUploadSession",
          "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": "DateTime when the upload session was created. Read-only. Supports $orderby.",
              "format": "date-time"
            },
            "data": {
              "$ref": "#/$defs/microsoft.graph.customDataProvidedResourcePayloads.data"
            },
            "isUploadDone": {
              "type": "boolean",
              "description": "Indicates if all the necessary files have been uploaded to this session."
            },
            "referenceId": {
              "type": [
                "string",
                "null"
              ],
              "description": "The ID of the context for which data is being uploaded, for example, the Access Review instance ID. Supports $filter (eq)."
            },
            "stats": {
              "$ref": "#/$defs/microsoft.graph.customDataProvidedResourceUploadStats"
            },
            "status": {
              "$ref": "#/$defs/microsoft.graph.customDataProvidedResourceUploadStatus"
            },
            "files": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.customDataProvidedResourceFile"
              },
              "description": "The files uploaded during this upload session. Supports $expand and $expand with nested $filter and $orderby.",
              "x-ms-navigationProperty": true
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.customDataProvidedResourceUploadStats": {
      "title": "customDataProvidedResourceUploadStats",
      "type": "object",
      "properties": {
        "filesUploaded": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "Number of files uploaded in this session.",
          "format": "int32"
        },
        "totalBytesUploaded": {
          "type": "number",
          "description": "Total bytes uploaded in this session.",
          "format": "int64"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.customDataProvidedResourceUploadStatus": {
      "title": "customDataProvidedResourceUploadStatus",
      "enum": [
        "active",
        "complete",
        "expired",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "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.roleType": {
      "title": "roleType",
      "enum": [
        "active",
        "eligible",
        "application",
        "delegated",
        "unknownFutureValue"
      ],
      "type": "string"
    }
  }
}