{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-mac-oslob-app-schema.json",
  "title": "microsoft.graph.macOSLobApp",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-deviceappmanagement-mobileapp-api-openapi.yml#/components/schemas/microsoft.graph.macOSLobApp",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.mobileLobApp"
    },
    {
      "title": "macOSLobApp",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "buildNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "The build number of the package. This should match the package CFBundleShortVersionString of the .pkg file."
        },
        "bundleId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The primary bundleId of the package."
        },
        "childApps": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.macOSLobChildApp"
          },
          "description": "List of ComplexType macOSLobChildApp objects. Represents the apps expected to be installed by the package."
        },
        "ignoreVersionDetection": {
          "type": "boolean",
          "description": "When TRUE, indicates that the app's version will NOT be used to detect if the app is installed on a device. When FALSE, indicates that the app's version will be used to detect if the app is installed on a device. Set this to true for apps that use a self update feature. The default value is FALSE."
        },
        "installAsManaged": {
          "type": "boolean",
          "description": "When TRUE, indicates that the app will be installed as managed (requires macOS 11.0 and other managed package restrictions). When FALSE, indicates that the app will be installed as unmanaged. The default value is FALSE."
        },
        "md5Hash": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": "The MD5 hash codes. This is empty if the package was uploaded directly. If the Intune App Wrapping Tool is used to create a .intunemac, this value can be found inside the Detection.xml file."
        },
        "md5HashChunkSize": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "The chunk size for MD5 hash. This is '0' or empty if the package was uploaded directly. If the Intune App Wrapping Tool is used to create a .intunemac, this value can be found inside the Detection.xml file.",
          "format": "int32"
        },
        "minimumSupportedOperatingSystem": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.macOSMinimumOperatingSystem"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "ComplexType macOSMinimumOperatingSystem that indicates the minimum operating system applicable for the application."
        },
        "versionNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "The version number of the package. This should match the package CFBundleVersion in the packageinfo file."
        },
        "@odata.type": {
          "type": "string",
          "default": "#microsoft.graph.macOSLobApp"
        }
      },
      "description": "Contains properties and inherited properties for the macOS LOB App."
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.macOSLobApp",
  "$defs": {
    "microsoft.graph.deviceAndAppManagementAssignmentTarget": {
      "title": "deviceAndAppManagementAssignmentTarget",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Base type for assignment targets."
    },
    "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.installIntent": {
      "title": "installIntent",
      "enum": [
        "available",
        "required",
        "uninstall",
        "availableWithoutEnrollment"
      ],
      "type": "string",
      "description": "Possible values for the install intent chosen by the admin.",
      "x-ms-enum": {
        "name": "installIntent",
        "modelAsString": false,
        "values": [
          {
            "value": "available",
            "description": "Available install intent.",
            "name": "available"
          },
          {
            "value": "required",
            "description": "Required install intent.",
            "name": "required"
          },
          {
            "value": "uninstall",
            "description": "Uninstall install intent.",
            "name": "uninstall"
          },
          {
            "value": "availableWithoutEnrollment",
            "description": "Available without enrollment install intent.",
            "name": "availableWithoutEnrollment"
          }
        ]
      }
    },
    "microsoft.graph.macOSLobChildApp": {
      "title": "macOSLobChildApp",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "buildNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "The build number of the app."
        },
        "bundleId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The bundleId of the app."
        },
        "versionNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "The version number of the app."
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Contains properties of a macOS .app in the package"
    },
    "microsoft.graph.macOSMinimumOperatingSystem": {
      "title": "macOSMinimumOperatingSystem",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "v10_10": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.10 or later is required to install the app. If 'False', OS X Version 10.10 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v10_11": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.11 or later is required to install the app. If 'False', OS X Version 10.11 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v10_12": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.12 or later is required to install the app. If 'False', OS X Version 10.12 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v10_13": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.13 or later is required to install the app. If 'False', OS X Version 10.13 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v10_14": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.14 or later is required to install the app. If 'False', OS X Version 10.14 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v10_15": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.15 or later is required to install the app. If 'False', OS X Version 10.15 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v10_7": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.7 or later is required to install the app. If 'False', OS X Version 10.7 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v10_8": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.8 or later is required to install the app. If 'False', OS X Version 10.8 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v10_9": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 10.9 or later is required to install the app. If 'False', OS X Version 10.9 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v11_0": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 11.0 or later is required to install the app. If 'False', OS X Version 11.0 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v12_0": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 12.0 or later is required to install the app. If 'False', OS X Version 12.0 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "v13_0": {
          "type": "boolean",
          "description": "Indicates the minimum OS X version support required for the managed device. When 'True', macOS with OS X 13.0 or later is required to install the app. If 'False', OS X Version 13.0 is not the minimum version. Default value is False. Exactly one of the minimum operating system boolean values will be TRUE."
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "The minimum operating system required for a macOS app."
    },
    "microsoft.graph.mimeContent": {
      "title": "mimeContent",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "type": {
          "type": [
            "string",
            "null"
          ],
          "description": "Indicates the content mime type."
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "The byte array that contains the actual content.",
          "format": "base64url"
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Contains properties for a generic mime content."
    },
    "microsoft.graph.mobileApp": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "mobileApp",
          "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 app was created. This property is read-only.",
              "format": "date-time",
              "readOnly": true
            },
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "The description of the app."
            },
            "developer": {
              "type": [
                "string",
                "null"
              ],
              "description": "The developer of the app."
            },
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The admin provided or imported title of the app."
            },
            "informationUrl": {
              "type": [
                "string",
                "null"
              ],
              "description": "The more information Url."
            },
            "isFeatured": {
              "type": "boolean",
              "description": "The value indicating whether the app is marked as featured by the admin."
            },
            "largeIcon": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.mimeContent"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "The large icon, to be displayed in the app details and used for upload of the icon."
            },
            "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 date and time the app was last modified. This property is read-only.",
              "format": "date-time",
              "readOnly": true
            },
            "notes": {
              "type": [
                "string",
                "null"
              ],
              "description": "Notes for the app."
            },
            "owner": {
              "type": [
                "string",
                "null"
              ],
              "description": "The owner of the app."
            },
            "privacyInformationUrl": {
              "type": [
                "string",
                "null"
              ],
              "description": "The privacy statement Url."
            },
            "publisher": {
              "type": [
                "string",
                "null"
              ],
              "description": "The publisher of the app."
            },
            "publishingState": {
              "$ref": "#/$defs/microsoft.graph.mobileAppPublishingState"
            },
            "assignments": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.mobileAppAssignment"
              },
              "description": "The list of group assignments for this mobile app.",
              "x-ms-navigationProperty": true
            },
            "categories": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.mobileAppCategory"
              },
              "description": "The list of categories for this app.",
              "x-ms-navigationProperty": true
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "An abstract class containing the base properties for Intune mobile apps. Note: Listing mobile apps with `$expand=assignments` has been deprecated. Instead get the list of apps without the `$expand` query on `assignments`. Then, perform the expansion on individual applications."
        }
      ]
    },
    "microsoft.graph.mobileAppAssignment": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "mobileAppAssignment",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "intent": {
              "$ref": "#/$defs/microsoft.graph.installIntent"
            },
            "settings": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.mobileAppAssignmentSettings"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "The settings for target assignment defined by the admin."
            },
            "target": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.deviceAndAppManagementAssignmentTarget"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "The target group assignment defined by the admin."
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "A class containing the properties used for Group Assignment of a Mobile App."
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.mobileAppAssignment"
    },
    "microsoft.graph.mobileAppAssignmentSettings": {
      "title": "mobileAppAssignmentSettings",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Abstract class to contain properties used to assign a mobile app to a group."
    },
    "microsoft.graph.mobileAppCategory": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "mobileAppCategory",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The name of the app category."
            },
            "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 date and time the mobileAppCategory was last modified. This property is read-only.",
              "format": "date-time",
              "readOnly": true
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "Contains properties for a single Intune app category."
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.mobileAppCategory"
    },
    "microsoft.graph.mobileAppContent": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "mobileAppContent",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "containedApps": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.mobileContainedApp"
              },
              "description": "The collection of contained apps in a MobileLobApp acting as a package.",
              "x-ms-navigationProperty": true
            },
            "files": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.mobileAppContentFile"
              },
              "description": "The list of files for this app content version.",
              "x-ms-navigationProperty": true
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "Contains content properties for a specific app version. Each mobileAppContent can have multiple mobileAppContentFile."
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.mobileAppContent"
    },
    "microsoft.graph.mobileAppContentFile": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "mobileAppContentFile",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "azureStorageUri": {
              "type": [
                "string",
                "null"
              ],
              "description": "Indicates the Azure Storage URI that the file is uploaded to. Created by the service upon receiving a valid mobileAppContentFile. Read-only. This property is read-only.",
              "readOnly": true
            },
            "azureStorageUriExpirationDateTime": {
              "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": "Indicates the date and time when the Azure storage URI expires, in ISO 8601 format. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Read-only. This property is read-only.",
              "format": "date-time",
              "readOnly": true
            },
            "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": "Indicates created date and time associated with app content file, in ISO 8601 format. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Read-only. This property is read-only.",
              "format": "date-time",
              "readOnly": true
            },
            "isCommitted": {
              "type": "boolean",
              "description": "A value indicating whether the file is committed. A committed app content file has been fully uploaded and validated by the Intune service. TRUE means that app content file is committed, FALSE means that app content file is not committed. Defaults to FALSE. Read-only. This property is read-only.",
              "readOnly": true
            },
            "isDependency": {
              "type": "boolean",
              "description": "Indicates whether this content file is a dependency for the main content file. TRUE means that the content file is a dependency, FALSE means that the content file is not a dependency and is the main content file. Defaults to FALSE."
            },
            "manifest": {
              "type": [
                "string",
                "null"
              ],
              "description": "Indicates the manifest information, containing file metadata.",
              "format": "base64url"
            },
            "name": {
              "type": [
                "string",
                "null"
              ],
              "description": "Indicates the name of the file."
            },
            "size": {
              "type": "number",
              "description": "Indicates the original size of the file, in bytes.",
              "format": "int64"
            },
            "sizeEncrypted": {
              "type": "number",
              "description": "Indicates the size of the file after encryption, in bytes.",
              "format": "int64"
            },
            "uploadState": {
              "$ref": "#/$defs/microsoft.graph.mobileAppContentFileUploadState"
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "Contains properties for a single installer file that is associated with a given mobileAppContent version."
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.mobileAppContentFile"
    },
    "microsoft.graph.mobileAppContentFileUploadState": {
      "title": "mobileAppContentFileUploadState",
      "enum": [
        "success",
        "transientError",
        "error",
        "unknown",
        "azureStorageUriRequestSuccess",
        "azureStorageUriRequestPending",
        "azureStorageUriRequestFailed",
        "azureStorageUriRequestTimedOut",
        "azureStorageUriRenewalSuccess",
        "azureStorageUriRenewalPending",
        "azureStorageUriRenewalFailed",
        "azureStorageUriRenewalTimedOut",
        "commitFileSuccess",
        "commitFilePending",
        "commitFileFailed",
        "commitFileTimedOut"
      ],
      "type": "string",
      "description": "Contains properties for upload request states."
    },
    "microsoft.graph.mobileAppPublishingState": {
      "title": "mobileAppPublishingState",
      "enum": [
        "notPublished",
        "processing",
        "published"
      ],
      "type": "string",
      "description": "Indicates the publishing state of an app.",
      "x-ms-enum": {
        "name": "mobileAppPublishingState",
        "modelAsString": false,
        "values": [
          {
            "value": "notPublished",
            "description": "The app is not yet published.",
            "name": "notPublished"
          },
          {
            "value": "processing",
            "description": "The app is pending service-side processing.",
            "name": "processing"
          },
          {
            "value": "published",
            "description": "The app is published.",
            "name": "published"
          }
        ]
      }
    },
    "microsoft.graph.mobileContainedApp": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "mobileContainedApp",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "An abstract class that represents a contained app in a mobileApp acting as a package."
        }
      ]
    },
    "microsoft.graph.mobileLobApp": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.mobileApp"
        },
        {
          "title": "mobileLobApp",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "committedContentVersion": {
              "type": [
                "string",
                "null"
              ],
              "description": "The internal committed content version."
            },
            "fileName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The name of the main Lob application file."
            },
            "size": {
              "type": "number",
              "description": "The total size, including all uploaded files. This property is read-only.",
              "format": "int64",
              "readOnly": true
            },
            "contentVersions": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.mobileAppContent"
              },
              "description": "The list of content versions for this app. This property is read-only.",
              "x-ms-navigationProperty": true
            },
            "@odata.type": {
              "type": "string",
              "default": "#microsoft.graph.mobileLobApp"
            }
          },
          "description": "An abstract base class containing properties for all mobile line-of-business apps."
        }
      ]
    }
  }
}