---
title: "POST /api/v1/software/global/{softwareIdentifier}/versions"
method: POST
path: "/api/v1/software/global/{softwareIdentifier}/versions"
tags: ["Software"]
---

# POST /api/v1/software/global/{softwareIdentifier}/versions

`POST /api/v1/software/global/{softwareIdentifier}/versions`

## Request

- Base URL: `https://api.immy.bot` (the document declares no server; this is the origin it was published from)
- URL: `https://api.immy.bot/api/v1/software/global/{softwareIdentifier}/versions`
- Auth: none declared

## Path parameters

- `softwareIdentifier` string, required

## Request body

- CreateGlobalSoftwareVersionRequestBody
  - `displayName` string, nullable
  - `displayVersion` string, nullable
  - `semanticVersion` SemanticVersion, required
    - `major` integer
    - `minor` integer
    - `patch` integer
    - `releaseLabels` string[], nullable
    - `release` string, nullable
    - `isPrerelease` boolean
    - `hasMetadata` boolean
    - `metadata` string, nullable
  - `testRequired` boolean
  - `url` string, nullable
  - `relativeCacheSourcePath` string, nullable
  - `installerFile` string, nullable
  - `testFailedError` string, nullable
  - `packageHash` string, nullable
  - `testScriptId` integer, nullable
  - `installScriptId` integer, nullable
  - `uninstallScriptId` integer, nullable
  - `upgradeScriptId` integer, nullable
  - `postUninstallScriptId` integer, nullable
  - `postInstallScriptId` integer, nullable
  - `licenseType` 'None' | 'LicenseFile' | 'Key': The string or integer value may be used. None = 0, LicenseFile = 1, Key = 2
  - `upgradeStrategy` 'None' | 'UninstallInstall' | 'InstallOver' | 'UpgradeScript': The string or integer value may be used. None = 0, UninstallInstall = 1, InstallOver = 2, UpgradeScript = 3
  - `packageType` 'None' | 'EntireFolder' | 'InstallerFile': The string or integer value may be used. None = 0, EntireFolder = 1, InstallerFile = 2
  - `installerType` 'None' | 'File' | 'Url': The string or integer value may be used. None = 0, File = 1, Url = 2
  - `blobName` string, nullable
  - `notes` string, nullable
  - `productCode` string, nullable
  - `dependsOnSemanticVersion` SemanticVersion
    - `major` integer
    - `minor` integer
    - `patch` integer
    - `releaseLabels` string[], nullable
    - `release` string, nullable
    - `isPrerelease` boolean
    - `hasMetadata` boolean
    - `metadata` string, nullable
  - `softwareId` integer
  - `softwareType` 'GlobalSoftware' | 'LocalSoftware' | 'WindowsUpdate' | 'Chocolatey' | 'Ninite': The string or integer value may be used. GlobalSoftware = 0, LocalSoftware = 1, WindowsUpdate = 2, Chocolatey = 3, Ninite = 4
  - `softwareIdentifier` string, nullable

## Response `200`

OK

- GetGlobalSoftwareVersionResponse
  - `displayName` string, nullable
  - `displayVersion` string, nullable
  - `semanticVersion` SemanticVersion
    - `major` integer
    - `minor` integer
    - `patch` integer
    - `releaseLabels` string[], nullable
    - `release` string, nullable
    - `isPrerelease` boolean
    - `hasMetadata` boolean
    - `metadata` string, nullable
  - `semanticVersionString` string, nullable
  - `testRequired` boolean
  - `uninstallIfNotInTarget` boolean
  - `url` string, nullable
  - `relativeCacheSourcePath` string, nullable
  - `installerFile` string, nullable
  - `testFailedError` string, nullable
  - `packageHash` string, nullable
  - `installScriptId` integer, nullable
  - `testScriptId` integer, nullable
  - `upgradeScriptId` integer, nullable
  - `uninstallScriptId` integer, nullable
  - `postUninstallScriptId` integer, nullable
  - `postInstallScriptId` integer, nullable
  - `softwareIdentifier` string, nullable
  - `numActionSuccesses` integer
  - `numActionFailures` integer
  - `blobName` string, nullable
  - `licenseType` 'None' | 'LicenseFile' | 'Key': The string or integer value may be used. None = 0, LicenseFile = 1, Key = 2
  - `upgradeStrategy` 'None' | 'UninstallInstall' | 'InstallOver' | 'UpgradeScript': The string or integer value may be used. None = 0, UninstallInstall = 1, InstallOver = 2, UpgradeScript = 3
  - `packageType` 'None' | 'EntireFolder' | 'InstallerFile': The string or integer value may be used. None = 0, EntireFolder = 1, InstallerFile = 2
  - `installerType` 'None' | 'File' | 'Url': The string or integer value may be used. None = 0, File = 1, Url = 2
  - `lastResult` 'Pending' | 'Success' | 'Failed' | 'Cancelled' | 'Indeterminable' | 'Resolved': The string or integer value may be used. Pending = 0, Success = 1, Failed = 2, Cancelled = 3, Indeterminable = 4, Resolved = 5
  - `softwareType` 'GlobalSoftware' | 'LocalSoftware' | 'WindowsUpdate' | 'Chocolatey' | 'Ninite': The string or integer value may be used. GlobalSoftware = 0, LocalSoftware = 1, WindowsUpdate = 2, Chocolatey = 3, Ninite = 4
  - `notes` string, nullable
  - `productCode` string, nullable
  - `dependsOnSemanticVersion` SemanticVersion
    - `major` integer
    - `minor` integer
    - `patch` integer
    - `releaseLabels` string[], nullable
    - `release` string, nullable
    - `isPrerelease` boolean
    - `hasMetadata` boolean
    - `metadata` string, nullable
  - `hasOverrides` boolean
  - `deprecatedIdField` integer, nullable
  - `softwareId` integer
  - `software` GetGlobalSoftwareResponse
    - `name` string, nullable
    - `databaseType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `licenseRequirement` 'None' | 'Required' | 'Optional': The string or integer value may be used. None = 0, Required = 1, Optional = 2
    - `installOrder` integer
    - `hidden` boolean
    - `softwareType` 'GlobalSoftware' | 'LocalSoftware' | 'WindowsUpdate' | 'Chocolatey' | 'Ninite': The string or integer value may be used. GlobalSoftware = 0, LocalSoftware = 1, WindowsUpdate = 2, Chocolatey = 3, Ninite = 4
    - `identifier` string, nullable
    - `id` integer
    - `detectionMethod` 'SoftwareTable' | 'CustomDetectionScript' | 'UpgradeCode' | 'ProductCode': The string or integer value may be used. SoftwareTable = 0, CustomDetectionScript = 1, UpgradeCode = 2, ProductCode = 3
    - `softwareTableName` string, nullable
    - `softwareVersions` GetGlobalSoftwareVersionResponse[], nullable
    - `softwarePrerequisites` GetSoftwarePrerequisiteResponse[], nullable
      - `softwaresForCondition` GetSpecifiedSoftwareResponse[], nullable
        - `softwareType` 'GlobalSoftware' | 'LocalSoftware' | 'WindowsUpdate' | 'Chocolatey' | 'Ninite': The string or integer value may be used. GlobalSoftware = 0, LocalSoftware = 1, WindowsUpdate = 2, Chocolatey = 3, Ninite = 4
        - `softwareIdentifier` string, nullable
      - `softwaresToPerformActionOn` GetSpecifiedSoftwareResponse[], nullable
        - `softwareType` 'GlobalSoftware' | 'LocalSoftware' | 'WindowsUpdate' | 'Chocolatey' | 'Ninite': The string or integer value may be used. GlobalSoftware = 0, LocalSoftware = 1, WindowsUpdate = 2, Chocolatey = 3, Ninite = 4
        - `softwareIdentifier` string, nullable
      - `subjectQualifier` 'AnyOf' | 'AllOf': The string or integer value may be used. AnyOf = 0, AllOf = 1
      - `condition` 'Installed' | 'NotInstalled': The string or integer value may be used. Installed = 0, NotInstalled = 1
      - `actionToPerform` 'Install' | 'Uninstall' | 'Fail': The string or integer value may be used. Install = 0, Uninstall = 1, Fail = 2
    - `detectionScriptId` integer, nullable
    - `repairScriptId` integer, nullable
    - `notes` string, nullable
    - `detectionScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `maintenanceTaskType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `repairScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `maintenanceTaskId` integer, nullable
    - `rebootNeeded` boolean
    - `updatedDateUTC` string, date-time
    - `createdDateUTC` string, date-time
    - `upgradeCode` string, nullable
    - `repairType` 'None' | 'UninstallInstall' | 'InstallOver' | 'CustomScript': The string or integer value may be used. None = 0, UninstallInstall = 1, InstallOver = 2, CustomScript = 3
    - `softwareTableNameSearchMode` 'Contains' | 'Regex' | 'Traditional': The string or integer value may be used. Contains = 0, Regex = 1, Traditional = 2
    - `softwareIconMediaId` integer, nullable
    - `recommended` boolean
    - `chocoProviderSoftwareId` string, nullable
    - `niniteProviderSoftwareId` string, nullable
    - `softwareIcon` GlobalMediaResponse
      - `id` integer
      - `name` string, nullable
      - `fileName` string, nullable
      - `mimeType` string, nullable
      - `packageHash` string, nullable
      - `blobReference` string, nullable
      - `relativeCacheSourcePath` string, nullable
      - `updatedDateUTC` string, date-time
      - `createdDateUTC` string, date-time
      - `databaseType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
      - `category` 'None' | 'SoftwareIcon': The string or integer value may be used. None = 0, SoftwareIcon = 1
    - `installScriptId` integer, nullable
    - `installScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `testScriptId` integer, nullable
    - `testScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `testRequired` boolean
    - `testFailedError` string, nullable
    - `upgradeScriptId` integer, nullable
    - `upgradeScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `upgradeStrategy` 'None' | 'UninstallInstall' | 'InstallOver' | 'UpgradeScript': The string or integer value may be used. None = 0, UninstallInstall = 1, InstallOver = 2, UpgradeScript = 3
    - `agentIntegrationTypeId` string, uuid, nullable
    - `uninstallScriptId` integer, nullable
    - `uninstallScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `postInstallScriptId` integer, nullable
    - `postInstallScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `postUninstallScriptId` integer, nullable
    - `postUninstallScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `licenseType` 'None' | 'LicenseFile' | 'Key': The string or integer value may be used. None = 0, LicenseFile = 1, Key = 2
    - `licenseDescription` string, nullable
    - `useDynamicVersions` boolean
    - `dynamicVersionsScriptId` integer, nullable
    - `dynamicVersionsScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
    - `downloadInstallerScriptId` integer, nullable
    - `downloadInstallerScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
  - `installScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
  - `testScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
  - `upgradeScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
  - `uninstallScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
  - `postUninstallScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
  - `postInstallScriptType` 'Global' | 'Local': The string or integer value may be used. Global = 0, Local = 1
  - `updatedDateUTC` string, date-time
  - `createdDateUTC` string, date-time

---

[API](https://skmtc.dev/immy/apis/immy-bot-api-2.md) · [All operations](https://skmtc.dev/immy/apis/immy-bot-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/immy/apis/immy-bot-api-2/revisions/75b50268fa51?raw)
