{"id":19205312,"url":"https://github.com/tyler-tee/jnuc-2023","last_synced_at":"2025-07-12T02:03:06.185Z","repository":{"id":195617815,"uuid":"662188060","full_name":"tyler-tee/JNUC-2023","owner":"tyler-tee","description":"Setup to host companion content for the JNUC 2023 session 'Low-Code Automation and App Installers'.","archived":false,"fork":false,"pushed_at":"2023-09-20T13:17:05.000Z","size":17,"stargazers_count":14,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T12:08:24.298Z","etag":null,"topics":["app-installers","jamf-pro","mdm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tyler-tee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-04T14:42:50.000Z","updated_at":"2025-03-06T19:31:51.000Z","dependencies_parsed_at":"2023-09-19T00:22:00.434Z","dependency_job_id":"976ec662-8468-418c-a350-5728e9b478e3","html_url":"https://github.com/tyler-tee/JNUC-2023","commit_stats":null,"previous_names":["tyler-tee/jnuc-2023"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyler-tee%2FJNUC-2023","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyler-tee%2FJNUC-2023/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyler-tee%2FJNUC-2023/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyler-tee%2FJNUC-2023/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tyler-tee","download_url":"https://codeload.github.com/tyler-tee/JNUC-2023/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248225664,"owners_count":21068078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app-installers","jamf-pro","mdm"],"created_at":"2024-11-09T13:12:19.864Z","updated_at":"2025-04-10T13:22:26.057Z","avatar_url":"https://github.com/tyler-tee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API endpoints\n\nThese endpoints allow you to interact with Jamf Pro App Installers and their deployments programmatically.\n\n## GET\n[/v1/app-installers/titles/](#get-v1app-installerstitles)\u003cbr/\u003e\n[/v1/app-installers/titles/{TITLE_ID}](#get-v1app-installerstitlestitle_id) \u003cbr/\u003e\n[/v1/app-installers/deployments](#get-v1app-installersdeployments) \u003cbr/\u003e\n[/v1/app-installers/deployments/{DEPLOYMENT_ID}](#get-v1app-installersdeploymentsdeployment_id) \u003cbr/\u003e\n[/v1/app-installers/deployments/{DEPLOYMENT_ID}/computers](#get-v1app-installersdeploymentsdeployment_idcomputers) \u003cbr/\u003e\n[/v1/app-installers/deployments/{DEPLOYMENT_ID}/installation-summary](#get-v1app-installersdeploymentsdeployment_idinstallation-summary) \u003cbr/\u003e\n\n\n## POST\n[/v1/app-installers/deployments](#post-v1app-installerstitles) \u003cbr/\u003e\n[/v1/app-installers/deployments/{DEPLOYMENT_ID}/computers/installation-retry](#post-v1app-installersdeploymentsdeployment_idcomputersinstallation-retry) \u003cbr/\u003e\n[/v1/app-installers/deployments/{DEPLOYMENT_ID}/computers/{COMPUTER_ID}/installation-retry](#post-v1app-installersdeploymentsdeployment_idcomputerscomputer_idinstallation-retry) \u003cbr/\u003e\n\n___\n\n### GET /v1/app-installers/titles/\nGet all available App Instalers from the Jamf Pro App Catalog.\n\n**Response**\n\n```\n{\n    \"totalCount\": integer,\n    \"results\": [\n        {\n            \"id\": string,\n            \"bundleId\": string,\n            \"titleName\": string,\n            \"publisher\": string,\n            \"iconUrl\": string,\n            \"version\": string\n        },\n        ...\n    ]\n}\n```\n\n___\n\n### GET /v1/app-installers/titles/{TITLE_ID}\nGet details for a particular App Installer by supplying its ID.\n\n**Parameters**\n\n|          Name | Required |  Type   | Description                                                                                                                                                           |\n| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|    `TITLE_ID` | true | string  | Can be retrieved using /v1/app-installers/titles/         |\n                                                                   \n**Response**\n\n```\n{\n    \"id\": string,\n    \"bundleId\": string,\n    \"titleName\": string,\n    \"publisher\": string,\n    \"iconUrl\": string,\n    \"version\": string,\n    \"sizeInBytes\": integer,\n    \"minimumOsVersion\": string,\n    \"language\": string,\n    \"availabilityDate\": string,\n    \"packageSigningIdentity\": string,\n    \"installerPackageHashType\": string,\n    \"installerPackageHash\": string,\n    \"shortVersion\": string,\n    \"architecture\": string,\n    \"originalMediaSources\": [\n        {\n        \"hashType\": string,\n        \"hash\": string,\n        \"url\": string\n        }\n    ],\n    \"launchDaemonIncluded\": boolean,\n    \"notificationAvailable\": boolean,\n    \"suppressAutoUpdate\": boolean\n    }\n```\n___\n\n### GET /v1/app-installers/deployments/\nGet all deployed App Installers (enabled or not) from your Jamf Pro instance.\n                                                                   \n**Response**\n\n```\n{\n    \"totalCount\": integer,\n    \"results\": [\n        {\n            \"id\": string,\n            \"name\": string,\n            \"enabled\": boolean,\n            \"selectedVersion\": string,\n            \"latestVersion\": string,\n            \"deploymentType\": string,\n            \"updateBehavior\": string,\n            \"site\": {\n                \"id\": string,\n                \"name\": string\n            },\n            \"smartGroup\": {\n                \"id\": string,\n                \"name\": string\n            },\n            \"category\": {\n                \"id\": string,\n                \"name\": string\n            },\n            \"computerStatuses\": {\n                \"installed\": integer,\n                \"available\": integer,\n                \"inProgress\": integer,\n                \"failed\": integer,\n                \"unqualified\": integer\n            },\n            \"bundleId\": string\n        },\n        ...\n    ]\n}\n```\n\n___\n\n### GET /v1/app-installers/deployments/{DEPLOYMENT_ID}\nGet details for a particular App Installer deployment by supplying the corresponding deployment ID.\n\n**Parameters**\n\n|          Name | Required |  Type   | Description                                                                                                                                                           |\n| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|    `DEPLOYMENT_ID` | true | string  | Can be retrieved using /v1/app-installers/deployments/         |\n                                                                   \n**Response**\n\n```\n        {\n            \"id\": string,\n            \"name\": string,\n            \"enabled\": boolean,\n            \"appTitleId\": string,\n            \"deploymentType\": string,\n            \"updateBehavior\": string,\n            \"siteId\": string,\n            \"smartGroupId\": string,\n            \"installPredefinedConfigProfiles\": string,\n            \"titleAvailableInAis\": boolean\n            \"notificationSettings\": {\n                \"notificationMessage\": string,\n                \"notificationInterval\": integer,\n                \"deadlineMessage\": string,\n                \"deadline\": string,\n                \"quitDelay\": string,\n                \"completeMessage\": string,\n                \"relaunch\": boolean\n            },\n            \"selfServiceSettings\": {\n                \"includeInFeaturedCategory\": boolean,\n                \"includeInComplianceCategory\": boolean,\n                \"forceViewDescription\": boolean,\n                \"description\": string,\n                \"categories\": [\n                {\n                    \"id\": string,\n                    \"featured\": boolean\n                }\n                ]\n            },\n            \"selectedVersion\": string,\n            \"latestAvailableVersion\": string\n        }\n```\n___\n\n### GET /v1/app-installers/deployments/{DEPLOYMENT_ID}/computers\n\nGet a system-level summary for a particular App Installer deployment.\n\n**Parameters**\n\n|          Name | Required |  Type   | Description                                                                                                                                                           |\n| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|    `DEPLOYMENT_ID` | true | string  | Can be retrieved using /v1/app-installers/deployments/         |\n                                                                   \n**Response**\n\n```\n{\n    \"totalCount\": integer,\n    \"results\": [\n    {\n        \"id\": string,\n        \"status\": string,\n        \"error\": string,\n        \"retryable\": boolean,\n        \"computerName\": string\n    }\n    ]\n}\n```\n___\n\n### GET /v1/app-installers/deployments/{DEPLOYMENT_ID}/installation-summary\n\nGet the installation summary for a particular App Installer deployment.\n\n**Parameters**\n\n|          Name | Required |  Type   | Description                                                                                                                                                           |\n| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|    `DEPLOYMENT_ID` | true | string  | Can be retrieved using /v1/app-installers/deployments/         |\n                                                                   \n**Response**\n\n```\n{\n    \"installed\": integer,\n    \"available\": integer,\n    \"inProgress\": integer,\n    \"failed\": integer,\n    \"unqualified\": integer\n}\n```\n___\n\n### POST /v1/app-installers/deployments\n\nCreate a new App Installer deployment.\n\n**Payload**\n\n```\n{\n  \"name\": \"string,\n  \"enabled\": boolean,\n  \"appTitleId\": string,\n  \"siteId\": string,\n  \"categoryId\": string,\n  \"smartGroupId\": string,\n  \"deploymentType\": string // Example: \"INSTALL_AUTOMATICALLY\",\n  \"updateBehavior\": string // Example: \"AUTOMATIC\",\n  \"notificationSettings\": {\n    \"notificationMessage\": string,\n    \"notificationInterval\": integer,\n    \"deadlineMessage\": string,\n    \"deadline\": integer,\n    \"quitDelay\": integer,\n    \"completeMessage\": string,\n    \"relaunch\": boolean\n  },\n  \"installPredefinedConfigProfiles\": boolean\n}\n```\n                                                                   \n**Response**\n\n```\n// Status 200 indicates successful creation of a new App Installer deployment.\n```\n___\n\n\n### POST /v1/app-installers/deployments/{DEPLOYMENT_ID}/computers/installation-retry\n\nIssue a RETRY for failed App Installer installations for a deployment by providing its ID.\n\n**Parameters**\n\n|          Name | Required |  Type   | Description                                                                                                                                                           |\n| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|    `DEPLOYMENT_ID` | true | string  | Can be retrieved using /v1/app-installers/deployments/         |\n                                                                   \n**Response**\n\n```\n// Status 204 indicates successful retry submission\n```\n___\n\n### POST /v1/app-installers/deployments/{DEPLOYMENT_ID}/computers/{COMPUTER_ID}/installation-retry\n\nRetry a failed App Installer installation for a single system.\n\n**Parameters**\n\n|          Name | Required |  Type   | Description                                                                                                                                                           |\n| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|    `DEPLOYMENT_ID` | true | string  | Can be retrieved using /v1/app-installers/deployments/         |\n|    `COMPUTER_ID` | true | string  | ID used to identify Computer in Jamf Pro.         |\n                                                                   \n**Response**\n```\n// Status 204 indicates successful retry submission\n```\n___","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyler-tee%2Fjnuc-2023","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyler-tee%2Fjnuc-2023","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyler-tee%2Fjnuc-2023/lists"}