{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/snow-software/json-schema/snow-software-application-schema.json",
  "title": "Application",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/snow-software-applications-api-openapi.yml#/components/schemas/Application",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique ID of the application."
    },
    "name": {
      "type": "string",
      "description": "Name of the application."
    },
    "vendor": {
      "type": "string",
      "description": "Name of the vendor of the application."
    },
    "vendorId": {
      "type": "string",
      "description": "The unique ID of the vendor of the application."
    },
    "licenses": {
      "type": "array",
      "description": "Licenses under which application may be used.",
      "items": {
        "$ref": "#/$defs/License"
      }
    },
    "licenseCount": {
      "type": "integer",
      "format": "int32",
      "description": "Count of all licences."
    },
    "total": {
      "type": "integer",
      "format": "int32",
      "description": "Total amount."
    },
    "purchased": {
      "type": "integer",
      "format": "int32",
      "description": "How many are purchased."
    },
    "available": {
      "type": "integer",
      "format": "int32",
      "description": "How many are available."
    },
    "yearlyCost": {
      "type": "number",
      "format": "float32",
      "description": "Yearly cost of the usage."
    },
    "assigned": {
      "type": "integer",
      "format": "int32",
      "description": "How many are already assigned."
    },
    "active": {
      "type": "integer",
      "format": "int32",
      "description": "How many are actively being used."
    },
    "bundle": {
      "type": "boolean",
      "description": "```true``` if application is part of the bundle; otherwise, ```false```."
    },
    "inactive": {
      "type": "integer",
      "format": "int32",
      "description": "How many are inactive."
    },
    "utilization": {
      "type": "number",
      "description": "Percentage being used."
    },
    "totalUniqueUsers": {
      "type": "integer",
      "format": "int32",
      "description": "Number of unique users."
    },
    "discoveryTypes": {
      "type": "array",
      "description": "A collection of discovery types.",
      "items": {
        "type": "integer",
        "format": "int32"
      }
    },
    "discoveryDate": {
      "type": "string",
      "format": "date",
      "description": "Date of discovery."
    },
    "discoverySource": {
      "type": "string",
      "description": "Source of discovery."
    },
    "categoryName": {
      "type": "string",
      "description": "Category of application."
    },
    "website": {
      "type": "string",
      "description": "Website of application."
    },
    "privacyPolicy": {
      "type": "string",
      "description": "Location of the applications privacy policy."
    },
    "primaryOwnerId": {
      "type": "string",
      "description": "The unique ID of the primary owner."
    },
    "primaryOwnerName": {
      "type": "string",
      "description": "Name of primary owner."
    },
    "sanctioned": {
      "type": "boolean",
      "description": "```true``` if application is sanctioned; otherwise, ```false```."
    },
    "singleSignOn": {
      "type": "boolean",
      "description": "```true``` if application has single sign on supported; otherwise, ```false```."
    },
    "notes": {
      "type": "string",
      "description": "Notes about the application."
    },
    "disServiceId": {
      "type": "string",
      "description": "The unique ID of the DIS service."
    },
    "totalUniqueUsersFromActivities": {
      "type": "integer",
      "format": "int32",
      "description": "Total number of users based on the user activity."
    },
    "description": {
      "type": "string",
      "description": "Description of the application."
    },
    "aiCategory": {
      "type": "string",
      "description": "AI category of the application."
    },
    "aiSubcategory": {
      "type": "string",
      "description": "AI sub-category of the application."
    },
    "riskScore": {
      "type": "integer",
      "format": "int32",
      "description": "Risk score of the application from MSDefender connector."
    },
    "certifications": {
      "$ref": "#/$defs/ApplicationCertifications"
    }
  },
  "required": [
    "id",
    "name",
    "vendor",
    "vendorId"
  ],
  "$defs": {
    "ApplicationCertifications": {
      "type": "array",
      "description": "A collection of application certifications from MSDefender connector.",
      "items": {
        "type": "string"
      }
    },
    "License": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique ID of the license."
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "description": "Total assignable licenses."
        },
        "assigned": {
          "type": "integer",
          "format": "int32",
          "description": "Assigned licenses."
        },
        "productId": {
          "type": "string",
          "description": "The unique ID of the product."
        },
        "collectionTargetId": {
          "type": "string",
          "description": "The unique ID of the collection."
        }
      },
      "required": [
        "id"
      ]
    }
  }
}