From be2ca95c154ea3b8b54b384dd8e569e2af776adc Mon Sep 17 00:00:00 2001 From: Marko Lisica Date: Thu, 25 Jun 2026 14:58:14 +0200 Subject: [PATCH 1/4] [API] Add multiple custom packages for the same software title in the same fleet --- docs/REST API/rest-api.md | 102 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/docs/REST API/rest-api.md b/docs/REST API/rest-api.md index d260b3d90fc..80ec188efe1 100644 --- a/docs/REST API/rest-api.md +++ b/docs/REST API/rest-api.md @@ -10848,6 +10848,28 @@ Get a list of all software. "vulnerabilities": null } ], + "packages": [ + { + "name": "Slack-4.50.128-macOS.pkg", + "automatic_install_policies": null, + "version": "4.50.128", + "platform": "darwin", + "self_service": false, + "last_install": null, + "last_uninstall": null, + "package_url": "" + }, + { + "name": "Slack-4.51.133-macOS.pkg", + "automatic_install_policies": null, + "version": "4.51.133", + "platform": "darwin", + "self_service": true, + "last_install": null, + "last_uninstall": null, + "package_url": "" + } + ], "software_package": { "name": "Slack-4.50.128-macOS.pkg", "automatic_install_policies": null, @@ -10879,6 +10901,7 @@ Get a list of all software. "vulnerabilities": null } ], + "packages": null, "software_package": null, "app_store_app": null, "bundle_identifier": "com.raycast.macos", @@ -10894,6 +10917,8 @@ Get a list of all software. `browser` and `extension_for` fields are included when set and when empty. `extension_for` will show the browser or Visual Studio Code fork associated with the extension, allowing for differentiation between e.g. an extension installed on Visual Studio Code and one installed on Cursor. `browser` is deprecated, and only shows this information for browser plugins. +A software title can have more than one package. The `packages` array lists all packages added for the title. `software_package` is kept for backwards compatibility and contains the oldest (first added) package; it's `null` when no package is available. + ### List software versions Get a list of all software versions. @@ -11099,6 +11124,79 @@ Returns information about the specified software. By default, `versions` are sor } ], "counts_updated_at": "2026-06-04T17:23:45Z", + "packages": [ + { + "team_id": 310, + "title_id": 2792, + "name": "Slack-4.50.128-macOS.pkg", + "icon_url": null, + "version": "4.50.128", + "platform": "darwin", + "uploaded_at": "2026-06-04T17:29:09.155424Z", + "installer_id": 36817, + "install_script": "#!/bin/sh\n\ninstaller -pkg \"$INSTALLER_PATH\" -target /\n", + "pre_install_query": "", + "post_install_script": "", + "uninstall_script": "#!/bin/sh\n\n# Fleet extracts and saves package IDs.\npkg_ids=(\n 'com.tinyspeck.slackmacgap'\n)\n", + "hash_sha256": "f7e4cba7676dacb03ac4cdbe5a99cc1d80ef751c484a13c6a7cf6a93de4a494e", + "status": { + "installed": 0, + "pending_install": 1, + "failed_install": 0, + "pending_uninstall": 0, + "failed_uninstall": 0 + }, + "self_service": false, + "url": "", + "fleet_maintained_app_id": null, + "automatic_install_policies": null, + "labels_include_any": null, + "labels_exclude_any": null, + "labels_include_all": null, + "categories": null, + "display_name": "", + "patch_policy": null, + "fleet_id": 310 + }, + { + "team_id": 310, + "title_id": 2792, + "name": "Slack-4.51.133-macOS.pkg", + "icon_url": null, + "version": "4.51.133", + "platform": "darwin", + "uploaded_at": "2026-06-10T09:14:51.482217Z", + "installer_id": 36901, + "install_script": "#!/bin/sh\n\ninstaller -pkg \"$INSTALLER_PATH\" -target /\n", + "pre_install_query": "", + "post_install_script": "", + "uninstall_script": "#!/bin/sh\n\n# Fleet extracts and saves package IDs.\npkg_ids=(\n 'com.tinyspeck.slackmacgap'\n)\n", + "hash_sha256": "a1b2c3d4e5f60718293a4b5c6d7e8f901a2b3c4d5e6f70819203a4b5c6d7e8f9", + "status": { + "installed": 0, + "pending_install": 0, + "failed_install": 0, + "pending_uninstall": 0, + "failed_uninstall": 0 + }, + "self_service": true, + "url": "", + "fleet_maintained_app_id": null, + "automatic_install_policies": null, + "labels_include_any": null, + "labels_exclude_any": null, + "labels_include_all": [ + { + "id": 12, + "name": "IT test team" + } + ], + "categories": null, + "display_name": "", + "patch_policy": null, + "fleet_id": 310 + } + ], "software_package": { "team_id": 310, "title_id": 2792, @@ -11141,6 +11239,10 @@ Returns information about the specified software. By default, `versions` are sor `browser` and `extension_for` fields are included when set and when empty, at the same level as `source`. `extension_for` will show the browser or Visual Studio Code fork associated with the extension, allowing for differentiation between e.g. an extension installed on Visual Studio Code and one installed on Cursor. `browser` is deprecated, and only shows this information for browser plugins. +A software title can have more than one package. The `packages` array lists all packages added for the title, including per-package `self_service`, `categories`, and label (`labels_include_any`, `labels_exclude_any`, `labels_include_all`) targeting. `software_package` is kept for backwards compatibility and contains the oldest (first added) package. + +> Install, pending, and failed counts in `packages.status` are combined across policy automations, setup experience, and manual installs. + For in-house iOS apps, the `software_package` field is populated with package information. For Apple App Store and Google Play apps, the `software_package` field is `null` and `app_store_app` is populated with information from the store. For example: From ff522dac3a94c3e7f0e5ed9886c38bdc444f834e Mon Sep 17 00:00:00 2001 From: Marko Lisica <83164494+marko-lisica@users.noreply.github.com> Date: Thu, 25 Jun 2026 15:37:54 +0200 Subject: [PATCH 2/4] Apply suggestion from @marko-lisica --- docs/REST API/rest-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/REST API/rest-api.md b/docs/REST API/rest-api.md index 80ec188efe1..fb24e5bb8b6 100644 --- a/docs/REST API/rest-api.md +++ b/docs/REST API/rest-api.md @@ -11239,7 +11239,7 @@ Returns information about the specified software. By default, `versions` are sor `browser` and `extension_for` fields are included when set and when empty, at the same level as `source`. `extension_for` will show the browser or Visual Studio Code fork associated with the extension, allowing for differentiation between e.g. an extension installed on Visual Studio Code and one installed on Cursor. `browser` is deprecated, and only shows this information for browser plugins. -A software title can have more than one package. The `packages` array lists all packages added for the title, including per-package `self_service`, `categories`, and label (`labels_include_any`, `labels_exclude_any`, `labels_include_all`) targeting. `software_package` is kept for backwards compatibility and contains the oldest (first added) package. +A software title can have more than one package. The `packages` array lists all packages added for the title, including per-package `self_service`, `categories`, and labels (`labels_include_any`, `labels_exclude_any`, `labels_include_all`). `software_package` is kept for backwards compatibility and contains the oldest (first added) package. > Install, pending, and failed counts in `packages.status` are combined across policy automations, setup experience, and manual installs. From 4c8bf8e75f9ac947c87aa47fdbc6092ec079f232 Mon Sep 17 00:00:00 2001 From: Marko Lisica <83164494+marko-lisica@users.noreply.github.com> Date: Thu, 25 Jun 2026 15:48:03 +0200 Subject: [PATCH 3/4] Apply suggestion from @marko-lisica --- docs/REST API/rest-api.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/REST API/rest-api.md b/docs/REST API/rest-api.md index fb24e5bb8b6..f9054405a3c 100644 --- a/docs/REST API/rest-api.md +++ b/docs/REST API/rest-api.md @@ -10855,8 +10855,6 @@ Get a list of all software. "version": "4.50.128", "platform": "darwin", "self_service": false, - "last_install": null, - "last_uninstall": null, "package_url": "" }, { From d26525a05e71c25c78c55e9ab0598f52ae2895ff Mon Sep 17 00:00:00 2001 From: Marko Lisica <83164494+marko-lisica@users.noreply.github.com> Date: Thu, 25 Jun 2026 15:48:26 +0200 Subject: [PATCH 4/4] Apply suggestion from @marko-lisica --- docs/REST API/rest-api.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/REST API/rest-api.md b/docs/REST API/rest-api.md index f9054405a3c..dbb015da606 100644 --- a/docs/REST API/rest-api.md +++ b/docs/REST API/rest-api.md @@ -10863,8 +10863,6 @@ Get a list of all software. "version": "4.51.133", "platform": "darwin", "self_service": true, - "last_install": null, - "last_uninstall": null, "package_url": "" } ],