{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-drive/json-schema/google-drive-app-list-schema.json",
  "title": "AppList",
  "description": "A list of third-party applications which the user has installed or given access to Google Drive.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-drive-apps-api-openapi.yml#/components/schemas/AppList",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "description": "The list of apps.",
      "items": {
        "$ref": "#/$defs/App"
      }
    },
    "kind": {
      "type": "string",
      "description": "Output only. Identifies what kind of resource this is. Value: the fixed string \"drive#appList\".",
      "default": "drive#appList"
    },
    "defaultAppIds": {
      "type": "array",
      "description": "The list of app IDs that the user has specified to use by default. The list is in reverse-priority order (lowest to highest).",
      "items": {
        "type": "string"
      }
    },
    "selfLink": {
      "type": "string",
      "description": "A link back to this list."
    }
  },
  "$defs": {
    "App": {
      "type": "object",
      "description": "The `apps` resource provides a list of apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details. Some resource methods (such as `apps.get`) require an `appId`. Use the `apps.list` method to retrieve the ID for an installed application.",
      "properties": {
        "installed": {
          "type": "boolean",
          "description": "Whether the app is installed."
        },
        "longDescription": {
          "type": "string",
          "description": "A long description of the app."
        },
        "openUrlTemplate": {
          "type": "string",
          "description": "The template URL for opening files with this app. The template contains {ids} or {exportIds} to be replaced by the actual file IDs. For more information, see Open Files for the full documentation."
        },
        "supportsImport": {
          "type": "boolean",
          "description": "Whether this app supports importing from Google Docs."
        },
        "hasDriveWideScope": {
          "type": "boolean",
          "description": "Whether the app has Drive-wide scope. An app with Drive-wide scope can access all files in the user's Drive."
        },
        "productUrl": {
          "type": "string",
          "description": "A link to the product listing for this app."
        },
        "icons": {
          "type": "array",
          "description": "The various icons for the app.",
          "items": {
            "$ref": "#/$defs/AppIcons"
          }
        },
        "createUrl": {
          "type": "string",
          "description": "The URL to create a file with this app."
        },
        "primaryFileExtensions": {
          "type": "array",
          "description": "The list of primary file extensions.",
          "items": {
            "type": "string"
          }
        },
        "supportsOfflineCreate": {
          "type": "boolean",
          "description": "Whether this app supports creating files when offline."
        },
        "productId": {
          "type": "string",
          "description": "The ID of the product listing for this app."
        },
        "useByDefault": {
          "type": "boolean",
          "description": "Whether the app is selected as the default handler for the types it supports."
        },
        "createInFolderTemplate": {
          "type": "string",
          "description": "The template URL to create a file with this app in a given folder. The template contains the {folderId} to be replaced by the folder ID house the new file."
        },
        "objectType": {
          "type": "string",
          "description": "The type of object this app creates such as a Chart. If empty, the app name should be used instead."
        },
        "secondaryMimeTypes": {
          "type": "array",
          "description": "The list of secondary MIME types.",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "type": "string",
          "description": "The ID of the app."
        },
        "kind": {
          "type": "string",
          "description": "Output only. Identifies what kind of resource this is. Value: the fixed string \"drive#app\".",
          "default": "drive#app"
        },
        "supportsCreate": {
          "type": "boolean",
          "description": "Whether this app supports creating objects."
        },
        "name": {
          "type": "string",
          "description": "The name of the app."
        },
        "primaryMimeTypes": {
          "type": "array",
          "description": "The list of primary MIME types.",
          "items": {
            "type": "string"
          }
        },
        "shortDescription": {
          "type": "string",
          "description": "A short description of the app."
        },
        "authorized": {
          "type": "boolean",
          "description": "Whether the app is authorized to access data on the user's Drive."
        },
        "secondaryFileExtensions": {
          "type": "array",
          "description": "The list of secondary file extensions.",
          "items": {
            "type": "string"
          }
        },
        "supportsMultiOpen": {
          "type": "boolean",
          "description": "Whether this app supports opening more than one file."
        }
      }
    },
    "AppIcons": {
      "type": "object",
      "properties": {
        "category": {
          "type": "string",
          "description": "Category of the icon. Allowed values are: * `application` - The icon for the application. * `document` - The icon for a file associated with the app. * `documentShared` - The icon for a shared file associated with the app."
        },
        "size": {
          "type": "integer",
          "description": "Size of the icon. Represented as the maximum of the width and height.",
          "format": "int32"
        },
        "iconUrl": {
          "type": "string",
          "description": "URL for the icon."
        }
      }
    }
  }
}