Windows WinGet REST API 1.1.0
- Source : https://github.com/microsoft/winget-cli-restsource/blob/main/documentation/WinGet-1.1.0.yaml
- Swagger UI: go to https://petstore.swagger.io/ and Explore https://raw.githubusercontent.com/microsoft/winget-cli-restsource/main/documentation/WinGet-1.1.0.yaml
Contents
- Windows WinGet REST API 1.1.0
- Server
- Packages
- Package Manifests
- Versions
- 1. Versions :
POST/packages/{PackageIdentifier}/versions - 2. Versions :
GET/packages/{PackageIdentifier}/versions - 3. Versions :
PUT/packages/{PackageIdentifier}/versions/{PackageVersion} - 4. Versions :
DELETE/packages/{PackageIdentifier}/versions/{PackageVersion} - 5. Versions :
GET/packages/{PackageIdentifier}/versions/{PackageVersion}
- 1. Versions :
- Locale
- 1. Locale :
POST/packages/{PackageIdentifier}/versions/{PackageVersion}/locales - 2. Locale :
GET/packages/{PackageIdentifier}/versions/{PackageVersion}/locales - 3. Locale :
PUT/packages/{PackageIdentifier}/versions/{PackageVersion}/locales/{PackageLocale} - 4. Locale :
DELETE/packages/{PackageIdentifier}/versions/{PackageVersion}/locales/{PackageLocale} - 5. Locale :
GET/packages/{PackageIdentifier}/versions/{PackageVersion}/locales/{PackageLocale}
- 1. Locale :
- Installers
- 1. Installers :
POST/packages/{PackageIdentifier}/versions/{PackageVersion}/installers - 2. Installers :
GET/packages/{PackageIdentifier}/versions/{PackageVersion}/installers - 3. Installers :
PUT/packages/{PackageIdentifier}/versions/{PackageVersion}/installers/{InstallerIdentifier} - 4. Installers :
DELETE/packages/{PackageIdentifier}/versions/{PackageVersion}/installers/{InstallerIdentifier} - 5. Installers :
GET/packages/{PackageIdentifier}/versions/{PackageVersion}/installers/{InstallerIdentifier}
- 1. Installers :
- Issues
- Reference
- Security Components
- API Schemas
- Parameters
Server
Server Related Functions.
1. Server : GET /information
Get Server Information.
This will retrieve server information.
Request
curl --location --request GET 'https://localhost:7071/api/information' \
--header 'Windows-Package-Manager: <string>' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"SourceIdentifier": "winget-cli-restsource-dev",
"ServerSupportedVersions": [
"1.0.0",
"1.1.0"
],
"UnsupportedPackageMatchFields": [],
"RequiredPackageMatchFields": [],
"UnsupportedQueryParameters": [],
"RequiredQueryParameters": []
}
}
Response Parameters
| Parameter | type | Description |
|---|---|---|
| ServerSupportedVersions | string | The source identifier is a unique identifier for the source server. |
Packages
Everything about packages.
1. Packages : POST /packages
Add Package Metadata
This will create a new package in the repository with its associated metadata.
Request
curl --location --request POST 'https://localhost:7071/api/packages?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"PackageIdentifier": "Raw.DemoApp"
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
| PackageIdentifier | string | This is the Package Identifier Parameter. |
Response
{
"Data": {
"PackageIdentifier": "Raw.DemoApp"
}
}
2. Packages : GET /packages
Get Package Metadata
This will retrieve a set of packages.
Request
curl --location --request GET 'https://localhost:7071/api/packages' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": [
{
"PackageIdentifier": "Raw.DemoApp"
},
{
"PackageIdentifier": "DemoCorp.DemoApp-2"
}
]
}
3. Packages : PUT /packages/{PackageIdentifier}
Replace Package Metadata
This will replace a package in the repository.
Weird no parameter can change
Request
curl --location --request PUT 'https://localhost:7071/api/packages/Raw.DemoApp?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"PackageIdentifier": "Raw.DemoApp"
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
| PackageIdentifier | string | This is the Package Identifier Parameter. |
Response
{
"Data": {
"PackageIdentifier": "Raw.DemoApp"
}
}
4. Packages : DELETE /packages/{PackageIdentifier}
Delete a Package
This will delete a package in the repository.
Request
curl --location --request DELETE 'https://localhost:7071/api/packages/Raw.DemoApp?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
204 No Content
5. Packages : GET /packages/{PackageIdentifier}
Get Package Metadata
This will retrieve a set of packages.
Request
curl --location --request GET 'https://localhost:7071/api/packages/Raw.DemoApp' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageIdentifier": "Raw.DemoApp"
}
}
Package Manifests
Package Manifests are a collated set of data to aid clients in search and consumption of the data sets.
1. Package Manifests : POST /packageManifests
This creates all subcomponents contained in the logical representation of a package manifest
This will create all subcomponents contained in the logical representation of a package manifest.
Request
curl --location --request POST 'https://localhost:7071/api/packageManifests?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"PackageIdentifier": "DemoCorp.DemoApp-2",
"Versions": [
{
"PackageVersion": "7.0.0.2",
"DefaultLocale": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"PublisherSupportUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DemoApp-2",
"License": "MIT",
"ShortDescription": "ShortDescription",
"Description": "Description",
"Tags": [
"demo",
"kimi"
],
"Moniker": "DemoApp"
},
"Locales": [
{
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DempApp-2",
"License": "MIT",
"ShortDescription": "ShortDescription",
"Description": "Description",
"Tags": [
"demo",
"kimi"
],
}
],
"Installers": [
{
"InstallerIdentifier": "kkyy",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"ReleaseDate": "2022-10-24",
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE",
}
]
}
]
}
]
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageIdentifier": "DemoCorp.DemoApp-2",
"Versions": [
{
"PackageVersion": "7.0.0.2",
"DefaultLocale": {
"Moniker": "DemoApp",
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"PublisherSupportUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DemoApp-2",
"License": "MIT",
"ShortDescription": "ShortDescription",
"Description": "Description",
"Tags": [
"demo",
"kimi"
]
},
"Installers": [
{
"InstallerIdentifier": "kkyy",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"InstallerAbortsTerminal": false,
"ReleaseDate": "2022-10-24T00:00:00",
"InstallLocationRequired": false,
"RequireExplicitUpgrade": false,
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}
],
"Locales": [
{
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DempApp-2",
"License": "MIT",
"ShortDescription": "ShortDescription",
"Description": "Description",
"Tags": [
"demo",
"kimi"
]
}
]
}
]
}
}
2. Package Manifests : PUT /packageManifests/{PackageIdentifier}
This updates all subcomponents contained in the logical representation of a package manifest for a given package id.
This will update all subcomponents contained in the logical representation of a package manifest.
Request
curl --location --request PUT 'https://localhost:7071/api/packageManifests/DemoCorp.DemoApp-2?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"PackageIdentifier": "DemoCorp.DemoApp-2",
"Versions": [
{
"PackageVersion": "7.0.0.2",
"DefaultLocale": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"PublisherSupportUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DemoApp-2",
"License": "MIT",
"ShortDescription": "Update : ShortDescription",
"Description": "Update : Description",
"Tags": [
"demo",
"kimi",
"acer"
],
"Moniker": "DemoApp"
},
"Locales": [
{
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DempApp-2",
"License": "MIT",
"ShortDescription": "ShortDescription",
"Description": "Description",
"Tags": [
"demo",
"kimi"
],
}
],
"Installers": [
{
"InstallerIdentifier": "kkyy",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"ReleaseDate": "2022-10-24",
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE",
}
]
}
]
}
]
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageIdentifier": "DemoCorp.DemoApp-2",
"Versions": [
{
"PackageVersion": "7.0.0.2",
"DefaultLocale": {
"Moniker": "DemoApp",
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"PublisherSupportUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DemoApp-2",
"License": "MIT",
"ShortDescription": "Update : ShortDescription",
"Description": "Update : Description",
"Tags": [
"demo",
"kimi",
"acer"
]
},
"Installers": [
{
"InstallerIdentifier": "kkyy",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"InstallerAbortsTerminal": false,
"ReleaseDate": "2022-10-24T00:00:00",
"InstallLocationRequired": false,
"RequireExplicitUpgrade": false,
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}
],
"Locales": [
{
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DempApp-2",
"License": "MIT",
"ShortDescription": "ShortDescription",
"Description": "Description",
"Tags": [
"demo",
"kimi"
]
}
]
}
]
}
}
3. Package Manifests : DELETE /packageManifests/{PackageIdentifier}
Delete a package manifest
This will delete a version in the repository.
Request
curl --location --request DELETE 'https://localhost:7071/api/packageManifests/DemoCorp.DemoApp-2?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
204
4. Package Manifests : GET /packageManifests/{PackageIdentifier}
This returns a package manifest This will retrieve a package manifest.
Request
curl --location --request GET 'https://localhost:7071/api/packageManifests/DemoCorp.DemoApp-2?Version=7.0.0.2' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageIdentifier": "DemoCorp.DemoApp-2",
"Versions": [
{
"PackageVersion": "7.0.0.2",
"DefaultLocale": {
"Moniker": "DemoApp",
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"PublisherSupportUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DemoApp-2",
"License": "MIT",
"ShortDescription": "ShortDescription",
"Description": "Description",
"Tags": [
"demo",
"kimi"
]
},
"Installers": [
{
"InstallerIdentifier": "kkyy",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"InstallerAbortsTerminal": false,
"ReleaseDate": "2022-10-24T00:00:00",
"InstallLocationRequired": false,
"RequireExplicitUpgrade": false,
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}
],
"Locales": [
{
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "DempApp-2",
"License": "MIT",
"ShortDescription": "ShortDescription",
"Description": "Description",
"Tags": [
"demo",
"kimi"
]
}
]
}
]
},
"UnsupportedQueryParameters": [],
"RequiredQueryParameters": []
}
5. Package Manifests : POST /manifestSearch
This retrieves package manifests for a given search request. This will retrieve a set of package manifests.
MatchType = [ Exact, CaseInsensitive, StartsWith, Substring, Wildcard, Fuzzy, FuzzySubstring ]
Request
curl --location --request POST 'https://localhost:7071/api/manifestSearch' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"MaximumResults": 0,
"FetchAllManifests": true,
"Query": {
"KeyWord": "DemoCorp",
"MatchType": "Substring"
},
"Inclusions": [
{
"PackageMatchField": "PackageIdentifier",
"RequestMatch": {
"KeyWord": "DemoCorp",
"MatchType": "Substring"
}
}
],
"Filters": [
{
"PackageMatchField": "PackageIdentifier",
"RequestMatch": {
"KeyWord": "DemoCorp",
"MatchType": "Substring"
}
}
]
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": [
{
"PackageIdentifier": "Democorp.Demoapp"
},
{
"PackageIdentifier": "DemoCorp.DemoApp",
"PackageName": "DemoApp",
"Publisher": "Kimi",
"Versions": [
{
"PackageVersion": "7.0.0.1"
}
]
}
],
"UnsupportedPackageMatchFields": [],
"RequiredPackageMatchFields": []
}
Versions
Everything about versions.
1. Versions : POST /packages/{PackageIdentifier}/versions
Add Version Metadata
This will create a new version in the repository with its associated metadata.
Request
curl --location --request POST 'https://localhost:7071/api/packages/Raw.DemoApp/versions?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"PackageVersion": "9.0.0.1",
"DefaultLocale": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "string",
"Description": "string",
"Tags": [
"demo","Kimi","Raw"
]
}
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageVersion": "9.0.0.1",
"DefaultLocale": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "string",
"Description": "string",
"Tags": [
"demo",
"Kimi",
"Raw"
]
}
}
}
2. Versions : GET /packages/{PackageIdentifier}/versions
Get Version Metadata This will retrieve a set of versions.
Request
curl --location --request GET 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageVersion": "9.0.0.1",
"DefaultLocale": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "string",
"Description": "string",
"Tags": [
"demo",
"Kimi",
"Raw"
]
}
}
}
3. Versions : PUT /packages/{PackageIdentifier}/versions/{PackageVersion}
Replace Version Metadata
This will replace a version in the repository.
Request
curl --location --request PUT 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"PackageVersion": "9.0.0.1",
"DefaultLocale": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"Author": "kimi",
"PackageName": "RawApp-Update",
"License": "MIT",
"ShortDescription": "My Demoapp short description 123",
"Description": "My Demoapp description 123",
"Tags": [
"demo",
"Kimi",
"Raw"
]
}
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageVersion": "9.0.0.1",
"DefaultLocale": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"Author": "kimi",
"PackageName": "RawApp-Update",
"License": "MIT",
"ShortDescription": "My Demoapp short description 123",
"Description": "My Demoapp description 123",
"Tags": [
"demo",
"Kimi",
"Raw"
]
}
}
}
4. Versions : DELETE /packages/{PackageIdentifier}/versions/{PackageVersion}
Delete a Version
This will delete a version in the repository.
Request
curl --location --request DELETE 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
204 No Content
5. Versions : GET /packages/{PackageIdentifier}/versions/{PackageVersion}
Get Version Metadata This will retrieve a version.
Request
curl --location --request GET 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageVersion": "9.0.0.1",
"DefaultLocale": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"Author": "kimi",
"PackageName": "RawApp-Update",
"License": "MIT",
"ShortDescription": "My Demoapp short description 123",
"Description": "My Demoapp description 123",
"Tags": [
"demo",
"Kimi",
"Raw"
]
}
}
}
Locale
Everything about locale.
1. Locale : POST /packages/{PackageIdentifier}/versions/{PackageVersion}/locales
Add Locale Metadata
This will create a new Locale in the repository with its associated metadata.
Request
curl --location --request POST 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/locales?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "locale: this is raw demo app",
"Description": "locale: Raw demo app locale",
"Tags": [
"demo",
"kimi"
]
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "locale: this is raw demo app",
"Description": "locale: Raw demo app locale",
"Tags": [
"demo",
"kimi"
]
}
}
2. Locale : GET /packages/{PackageIdentifier}/versions/{PackageVersion}/locales
Get Locale Metadata This will retrieve a set of Locale.
Request
curl --location --request GET 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/locales' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "locale: this is raw demo app",
"Description": "locale: Raw demo app locale",
"Tags": [
"demo",
"kimi"
]
}
}
3. Locale : PUT /packages/{PackageIdentifier}/versions/{PackageVersion}/locales/{PackageLocale}
Replace Locale Metadata
This will replace an Locale in the repository.
Request
curl --location --request PUT 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/locales/en-US?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "locale: this is raw demo app update",
"Description": "locale: Raw demo app locale update",
"Tags": [
"demo",
"kimi",
"Raw"
]
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "locale: this is raw demo app update",
"Description": "locale: Raw demo app locale update",
"Tags": [
"demo",
"kimi",
"Raw"
]
}
}
4. Locale : DELETE /packages/{PackageIdentifier}/versions/{PackageVersion}/locales/{PackageLocale}
Delete an Locale
This will delete a Locale in the repository.
Request
curl --location --request DELETE 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/locales/en-US?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
204 No Content
5. Locale : GET /packages/{PackageIdentifier}/versions/{PackageVersion}/locales/{PackageLocale}
Get Locale Metadata This will retrieve an Locale.
Request
curl --location --request GET 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/locales/en-US' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"PackageLocale": "en-US",
"Publisher": "Kimi",
"PublisherUrl": "https://kimi0230.github.io/",
"Author": "Kimi",
"PackageName": "Raw.DemoApp",
"License": "MIT",
"ShortDescription": "locale: this is raw demo app update",
"Description": "locale: Raw demo app locale update",
"Tags": [
"demo",
"kimi",
"Raw"
]
}
}
Installers
Everything about installers.
1. Installers : POST /packages/{PackageIdentifier}/versions/{PackageVersion}/installers
Add Installer Metadata
This will create a new Installer in the repository with its associated metadata.
Request
curl --location --request POST 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/installers?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"InstallerIdentifier": "Raw.LINE",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"ReleaseDate": "2022-10-25",
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"InstallerIdentifier": "Raw.LINE",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"InstallerAbortsTerminal": false,
"ReleaseDate": "2022-10-25T00:00:00",
"InstallLocationRequired": false,
"RequireExplicitUpgrade": false,
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}
}
2. Installers : GET /packages/{PackageIdentifier}/versions/{PackageVersion}/installers
Get Installer Metadata This will retrieve a set of installers.
Request
curl --location --request GET 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/installers' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"InstallerIdentifier": "Raw.LINE",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"InstallerAbortsTerminal": false,
"ReleaseDate": "2022-10-25T00:00:00",
"InstallLocationRequired": false,
"RequireExplicitUpgrade": false,
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}
}
3. Installers : PUT /packages/{PackageIdentifier}/versions/{PackageVersion}/installers/{InstallerIdentifier}
Replace Installer Metadata
This will replace an installer in the repository.
Request
curl --location --request PUT 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/installers/Raw.LINE?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Content-Type: application/json' \
--header 'Accept: application/Json' \
--data-raw '{
"InstallerIdentifier": "Raw.LINE",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"ReleaseDate": "2022-10-26",
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"InstallerIdentifier": "Raw.LINE",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"InstallerAbortsTerminal": false,
"ReleaseDate": "2022-10-26T00:00:00",
"InstallLocationRequired": false,
"RequireExplicitUpgrade": false,
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}
}
4. Installers : DELETE /packages/{PackageIdentifier}/versions/{PackageVersion}/installers/{InstallerIdentifier}
Delete an Installer
This will delete an installer in the repository.
Request
curl --location --request DELETE 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/installers/Raw.LINE?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
| code | string | APIAuthenticationQueryCode (apiKey) |
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
204 No Content
5. Installers : GET /packages/{PackageIdentifier}/versions/{PackageVersion}/installers/{InstallerIdentifier}
Get Installer Metadata This will retrieve an installer.
Request
curl --location --request GET 'https://localhost:7071/api/packages/Raw.DemoApp/versions/9.0.0.1/installers/Raw.LINE' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/Json'
Version: 1.1.0 Windows-Package-Manager: winget-cli-restsource-dev
Query Parameters
| Parameter | type | Description |
|---|---|---|
Body Parameters
| Parameter | type | Description |
|---|---|---|
Response
{
"Data": {
"InstallerIdentifier": "Raw.LINE",
"InstallerSha256": "018D9F09794718FB3F17608A03DD3AFC1F6699F86045E494086B875465359DF5",
"InstallerUrl": "https://desktop.line-scdn.net/win/new/LineInst.exe",
"Architecture": "x64",
"Platform": [
"Windows.Desktop"
],
"InstallerType": "exe",
"Scope": "user",
"InstallModes": [
"interactive",
"silent",
"silentWithProgress"
],
"InstallerSwitches": {
"Silent": "/M",
"SilentWithProgress": "/M"
},
"UpgradeBehavior": "install",
"ProductCode": "LINE",
"InstallerAbortsTerminal": false,
"ReleaseDate": "2022-10-26T00:00:00",
"InstallLocationRequired": false,
"RequireExplicitUpgrade": false,
"AppsAndFeaturesEntries": [
{
"ProductCode": "LINE"
}
]
}
}
Issues
1. "ErrorMessage": "The selected resource was not found."
When Call REST Api DELETE /packageManifests/{PackageIdentifier}
curl --location --request DELETE 'https://localhost:7071/api/packageManifests/DemoCorp.DemoApp-2?code=<API Key>' \
--header 'Version: 1.1.0' \
--header 'Windows-Package-Manager: winget-cli-restsource-dev' \
--header 'Accept: application/json'
Show below error
{
"ErrorCode": 404,
"ErrorMessage": "The selected resource was not found."
}

Solution
Partition key Setting in CosmosDB. It should be /id.

- https://tw.coderbridge.com/questions/f8869a3ddabf47e2a2935d64162dbb8c
- https://learn.microsoft.com/en-us/azure/cosmos-db/hierarchical-partition-keys?tabs=net-v3%2Cbicep
Demo
Call API
Create Package
curl --location --request POST 'https://localhost:7071/api/packages?code=<API Key>' \ --header 'Version: 1.1.0' \ --header 'Windows-Package-Manager: winget-cli-restsource-dev' \ --header 'Content-Type: application/json' \ --header 'Accept: application/Json' \ --data-raw '{ "PackageIdentifier": "AcerIncorporated.AcerProductRegistration" }'Create Version
curl --location --request POST 'https://localhost:7071/api/packages/AcerIncorporated.AcerProductRegistration/versions?code=<API Key>' \ --header 'Version: 1.1.0' \ --header 'Windows-Package-Manager: winget-cli-restsource-dev' \ --header 'Content-Type: application/json' \ --header 'Accept: application/Json' \ --data-raw '{ "PackageVersion": "2.0.3030.0", "DefaultLocale": { "PackageLocale": "en-US", "Publisher": "Acer Incorporated", "PackageName": "Acer Product Registration", "License": "MIT", "ShortDescription": "Acer Product Registration Installer", "Description": "Acer Product Registration Installer", "Tags": [ "demo","Kimi","Acer","registration" ] } }'Create Locale
curl --location --request POST 'https://localhost:7071/api/packages/AcerIncorporated.AcerProductRegistration/versions/2.0.3030.0/locales?code=<API Key>' \ --header 'Version: 1.1.0' \ --header 'Windows-Package-Manager: winget-cli-restsource-dev' \ --header 'Content-Type: application/json' \ --header 'Accept: application/Json' \ --data-raw '{ "PackageLocale": "en-US", "Publisher": "Acer Incorporated", "PublisherUrl": "http://10.36.22.111:8180/TsaiKimi", "Author": "Kimi", "PackageName": "AcerIncorporated.AcerProductRegistration", "License": "MIT", "ShortDescription": "Acer Product Registration Installer", "Description": "Acer Product Registration Installer", "Tags": [ "demo", "Kimi", "Acer", "registration" ] }'- Create Installer
curl --location --request POST 'https://localhost:7071/api/packages/AcerIncorporated.AcerProductRegistration/versions/2.0.3030.0/installers?code=<API Key>' \ --header 'Version: 1.1.0' \ --header 'Windows-Package-Manager: winget-cli-restsource-dev' \ --header 'Content-Type: application/json' \ --header 'Accept: application/Json' \ --data-raw '{ "InstallerIdentifier": "prodreginstallers.x64", "InstallerSha256": "B95069BC4B6494E942DA6D61A05E046CAABF4565FCC54A6A170CA6682728A30A", "InstallerUrl": "http://10.36.22.111:8180/TsaiKimi/public-executable/-/raw/main/manifests/a/AcerIncorporated/AcerProductRegistration/2.0.3030.0/2b39f60c02594a838bf4de7851532b59.msix", "Architecture": "x64", "Platform": [ "Windows.Universal" ], "InstallerType": "msix" }'
Run winget commands
winget source list
winget search Acer -s winget-pkgs-restsource
winget install --id AcerIncorporated.AcerProductRegistration -s winget-pkgs-restsource --force
winget list | Select-String "Acer"
winget uninstall --id AcerIncorporated.AcerRegistration_48frkmn4z8aw4 -s winget-pkgs-restsource

winget source list
winget search Acer -s winget-pkgs-restsource
winget install --id AcerIncorporated.AcerProductRegistration -s winget-pkgs-restsource --force
winget list | Select-String "Acer"
winget uninstall --id AcerIncorporated.AcerRegistration_48frkmn4z8aw4 -s winget-pkgs-restsource
Reference
- https://github.com/microsoft/winget-cli-restsource/blob/main/documentation/WinGet-1.1.0.yaml
- https://petstore.swagger.io/
Security Components
securitySchemes:
APIAuthenticationQueryCode:
type: apiKey
in: query
name: code
APIAuthenticationHeaderXFunctionKey:
type: apiKey
in: header
name: x-functions-key
APIAuthenticationHeaderOcpApimSubscriptionKey:
type: apiKey
in: header
name: Ocp-Apim-Subscription-Key
API Schemas
schemas:
# API Definitions
APIVersion:
description: The API Version to use for the request
type: string
pattern: "^([0-9]+\\.){0,3}(\\*|[0-9]+)$"
maxLength: 128
Windows-Package-Manager:
description: Custom header value to be passed along all rest calls from winget.
type: string
maxLength: 1024
# Definitions
PackageIdentifier:
description: The package unique identifier
type: string
pattern: "^[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}(\\.[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}){1,3}$"
maxLength: 128
ContinuationToken:
description: A generic continuation token to be used by the server.
type: string
maxLength: 4096
PackageVersion:
description: Version Type
type: string
pattern: "^[^\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]+$"
maxLength: 128
InstallerIdentifier:
description: Version Type
type: string
maxLength: 128
Publisher:
description: Publisher Name
type: string
minLength: 2
maxLength: 256
Author:
description: The package author
type: string
nullable: true
minLength: 2
maxLength: 256
PackageName:
description: The package name
type: string
minLength: 2
maxLength: 256
License:
description: The package license
type: string
minLength: 3
maxLength: 512
Copyright:
description: The package copyright
type: string
nullable: true
minLength: 3
maxLength: 512
ShortDescription:
description: The short package description
type: string
minLength: 3
maxLength: 256
Description:
description: The full package description
type: string
nullable: true
minLength: 3
maxLength: 10000
Locale:
description: The package meta-data locale
type: string
nullable: true
pattern: "^([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*$"
maxLength: 20
Url:
description: URL type
type: string
nullable: true
pattern: "^([Hh][Tt][Tt][Pp][Ss]?)://"
maxLength: 2048
Tag:
description: Package moniker or tag
type: string
nullable: true
pattern: "^\\S+$"
minLength: 1
maxLength: 40
Tags:
description: List of additional package search terms
type: array
nullable: true
uniqueItems: true
maxItems: 16
items:
$ref: '#/components/schemas/Tag'
Agreement:
description: One Agreement entry.
type: object
properties:
AgreementLabel:
description: The label of the Agreement. i.e. EULA, AgeRating, etc. This field should be localized.
Either Agreement or AgreementUrl is required.
When we show the agreements, we would Bold the AgreementL
type: string
minLength: 1
maxLength: 100
Agreement:
description: The agreement text content.
nullable: true
type: string
minLength: 1
maxLength: 10000
AgreementUrl:
description: The agreement url.
$ref: '#/components/schemas/Url'
Agreements:
description: List of agreements. Agreements are shown in the order of this list.
type: array
nullable: true
maxItems: 128
items:
$ref: '#/components/schemas/Agreement'
ReleaseNotes:
description: Package release notes.
type: string
nullable: true
minLength: 1
maxLength: 10000
Channel:
description: This field is not supported by the client yet. The client will set this to null when processing.
type: string
nullable: true
minLength: 1
maxLength: 16
Platform:
description: The installer supported operating system
type: array
nullable: true
items:
type: string
uniqueItems: true
minItems: 1
maxItems: 2
enum:
- Windows.Desktop
- Windows.Universal
MinimumOSVersion:
description: The installer minimum operating system version
type: string
pattern: "^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){0,3}$"
nullable: true
InstallerType:
description: Enumeration of supported installer types.
type: string
enum:
- msix
- msi
- appx
- exe
- zip
- inno
- nullsoft
- wix
- burn
- pwa
- msstore
Scope:
description: Enumeration of Values for Scope
type: string
nullable: true
enum:
- user
- machine
InstallMode:
description: Enumeration of Values for InstallModes
type: string
nullable: true
enum:
- interactive
- silent
- silentWithProgress
InstallModes:
description: List of supported installer modes
type: array
nullable: true
uniqueItems: true
maxItems: 3
items:
$ref: '#/components/schemas/InstallMode'
PackageDependency:
description: A Package Dependency consists of a Package Identifier and an optional Minimum Version.
type: object
properties:
PackageIdentifier:
$ref: '#/components/schemas/PackageIdentifier'
MinimumVersion:
$ref: '#/components/schemas/PackageVersion'
required:
- PackageIdentifier
InstallerSwitches:
description: Installer Switches
type: object
properties:
Silent:
description: Silent is the value that should be passed to the installer when user chooses a silent or quiet install
type: string
nullable: true
minLength: 1
maxLength: 512
SilentWithProgress:
description: SilentWithProgress is the value that should be passed to the installer when user chooses a non-interactive install
type: string
nullable: true
minLength: 1
maxLength: 512
Interactive:
description: Interactive is the value that should be passed to the installer when user chooses an interactive install
type: string
nullable: true
minLength: 1
maxLength: 512
InstallLocation:
description: InstallLocation is the value passed to the installer for custom install location. `<INSTALLPATH`> token can be included in the switch value so that winget will replace the token with user provided path
type: string
nullable: true
minLength: 1
maxLength: 512
Log:
description: Log is the value passed to the installer for custom log file path. <LOGPATH> token can be included in the switch value so that winget will replace the token with user provided path
type: string
nullable: true
minLength: 1
maxLength: 512
Upgrade:
description: Upgrade is the value that should be passed to the installer when user chooses an upgrade
type: string
nullable: true
minLength: 1
maxLength: 512
Custom:
description: Custom switches will be passed directly to the installer by winget
type: string
nullable: true
minLength: 1
maxLength: 2048
InstallerReturnCode:
description: An exit code that can be returned by the installer after execution
type: integer
not:
enum: [0]
minimum : -2147483648
maximum : 4294967295
InstallerSuccessCodes:
description: List of supported installer modes
type: array
nullable: true
uniqueItems: true
maxItems: 16
items:
$ref: '#/components/schemas/InstallerReturnCode'
ExpectedReturnCodes:
description: Installer exit codes for common errors. Should contain unique installer return codes.
type: array
nullable: true
uniqueItems: true
maxItems: 128
items:
$ref: '#/components/schemas/ExpectedReturnCode'
ExpectedReturnCodeResponse:
description: Installer expected return code response.
type: string
enum:
- packageInUse
- installInProgress
- fileInUse
- missingDependency
- diskFull
- insufficientMemory
- noNetwork
- contactSupport
- rebootRequiredToFinish
- rebootRequiredForInstall
- rebootInitiated
- cancelledByUser
- alreadyInstalled
- downgrade
- blockedByPolicy
ExpectedReturnCode:
description: Installer exit code for a common error.
type: object
properties:
InstallerReturnCode:
$ref: '#/components/schemas/InstallerReturnCode'
ReturnResponse:
$ref: '#/components/schemas/ExpectedReturnCodeResponse'
required:
- InstallerReturnCode
- ReturnResponse
UpgradeBehavior:
description: The upgrade method
type: string
nullable: true
enum:
- install
- uninstallPrevious
Commands:
description: List of commands or aliases to run the package
type: array
nullable: true
uniqueItems: true
maxItems: 16
items:
type: string
minLength: 1
maxLength: 40
Protocols:
description: List of protocols the package provides a handler for
type: array
nullable: true
uniqueItems: true
maxItems: 16
items:
type: string
pattern: "^[a-z][-a-z0-9\\.\\+]*$"
maxLength: 2048
FileExtensions:
description: List of file extensions the package could support
type: array
nullable: true
uniqueItems: true
maxItems: 256
items:
type: string
pattern: "^[^\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]+$"
maxLength: 64
Dependencies:
description: List of dependencies
type: object
properties:
WindowsFeatures:
description: List of Windows feature dependencies
type: array
nullable: true
uniqueItems: true
maxItems: 16
items:
type: string
minLength: 1
maxLength: 128
WindowsLibraries:
description: List of Windows library dependencies
type: array
nullable: true
uniqueItems: true
maxItems: 16
items:
type: string
minLength: 1
maxLength: 128
PackageDependencies:
description: List of package dependencies from current source
type: array
nullable: true
uniqueItems: true
maxItems: 16
items:
$ref: '#/components/schemas/PackageDependency'
ExternalDependencies:
description: List of external package dependencies
type: array
nullable: true
uniqueItems: true
maxItems: 16
items:
type: string
minLength: 1
maxLength: 128
PackageFamilyName:
description: PackageFamilyName for appx or msix installer. Could be used for correlation of packages across sources. This is restricted to appx or msix.
type: string
nullable: true
pattern: "^[A-Za-z0-9][-\\.A-Za-z0-9]+_[A-Za-z0-9]{13}$"
maxLength: 255
ProductCode:
description: ProductCode could be used for correlation of packages across sources. This is restricted to exe, inno, msi, nullsoft, wix, or burn.
type: string
nullable: true
minLength: 1
maxLength: 255
Capabilities:
description: List of appx or msix installer capabilities
type: array
nullable: true
uniqueItems: true
maxItems: 1000
items:
type: string
minLength: 1
maxLength: 40
RestrictedCapabilities:
description: List of appx or msix installer restricted capabilities
type: array
nullable: true
uniqueItems: true
maxItems: 1000
items:
type: string
minLength: 1
maxLength: 40
InstallerSha256:
description: Sha256 is required. Sha256 of the installer
type: string
nullable: true
pattern: "^[A-Fa-f0-9]{64}$"
SignatureSha256:
description: SignatureSha256 is recommended for appx or msix. It is the sha256 of signature file inside appx or msix. Could be used during streaming install if applicable
type: string
nullable: true
pattern: "^[A-Fa-f0-9]{64}$"
ArchitectureNonNeutral:
description: The architecture non neutral.
type: string
enum:
- x86
- x64
- arm
- arm64
Architecture:
description: The installer target architecture.
oneOf:
- $ref: '#/components/schemas/ArchitectureNonNeutral'
- type: string
enum:
- neutral
MSStoreProductIdentifier:
description: The Microsoft Store product id.
type: string
nullable: true
pattern: "^[A-Za-z0-9]{12}$"
Market:
description: The installer target market.
type: string
nullable: true
pattern: "^[A-Z]{2}$"
MarketArray:
description: Array of markets.
type: array
nullable: true
uniqueItems: true
maxItems: 256
items:
$ref: '#/components/schemas/Market'
Markets:
description: The installer markets
oneOf:
- type: object
properties:
AllowedMarkets:
$ref: '#/components/schemas/MarketArray'
- type: object
properties:
ExcludedMarkets:
$ref: '#/components/schemas/MarketArray'
InstallerAbortsTerminal:
description: Indicates whether the installer will abort terminal.
type: boolean
ReleaseDate:
description: The installer release date.
nullable: true
type: string
format: date
InstallLocationRequired:
description: Indicates whether the installer requires an install location provided.
type: boolean
RequireExplicitUpgrade:
description: Indicates whether the installer should be pinned by default from upgrade.
type: boolean
ElevationRequirement:
description: The installer's elevation requirement.
type: string
nullable: true
enum:
- elevationRequired
- elevationProhibited
- elevatesSelf
UnsupportedOSArchitectures:
description: List of OS architectures the installer does not support.
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/ArchitectureNonNeutral'
AppsAndFeaturesEntry:
description: Various key values under installer's ARP entry.
type: object
properties:
DisplayName:
description: The DisplayName registry value.
type: string
nullable: true
minLength: 1
maxLength: 256
Publisher:
description: The Publisher registry value.
type: string
nullable: true
minLength: 1
maxLength: 256
DisplayVersion:
description: The DisplayVersion registry value.
type: string
nullable: true
minLength: 1
maxLength: 128
ProductCode:
$ref: '#/components/schemas/ProductCode'
UpgradeCode:
$ref: '#/components/schemas/ProductCode'
InstallerType:
$ref: '#/components/schemas/InstallerType'
AppsAndFeaturesEntries:
description: List of ARP entries.
type: array
uniqueItems: true
maxItems: 128
items:
$ref: '#/components/schemas/AppsAndFeaturesEntry'
SourceIdentifier:
description: The source identifier is a unique identifier for the source server.
type: string
minLength: 3
maxLength: 128
SourceAgreements:
description: The source agreements users must accept before using the source.
type: object
properties:
AgreementsIdentifier:
type: string
minLength: 1
maxLength: 128
Agreements:
$ref: '#/components/schemas/Agreements'
required:
- AgreementsIdentifier
ServerSupportedVersions:
description: The API Versions supported by the server.
type: array
uniqueItems: true
items:
type: string
minLength: 1
maxLength: 128
minItems: 1
PackageMatchFieldArray:
description: The Package Match Fields not supported by the server.
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/PackageMatchField'
QueryParameterArray:
description: The query parameter not supported by the server.
type: array
uniqueItems: true
items:
type: string
enum:
- Version
- Channel
- Market
Installer:
description: Installer. If InstallerType is msstore, MSStoreProductIdentifier is required. In other cases, InstallerUrl and InstallerSha256 are required.
type: object
properties:
InstallerIdentifier:
$ref: '#/components/schemas/InstallerIdentifier'
InstallerSha256:
$ref: '#/components/schemas/InstallerSha256'
InstallerUrl:
$ref: '#/components/schemas/Url'
Architecture:
$ref: '#/components/schemas/Architecture'
InstallerLocale:
$ref: '#/components/schemas/Locale'
Platform:
$ref: '#/components/schemas/Platform'
MinimumOSVersion:
$ref: '#/components/schemas/MinimumOSVersion'
InstallerType:
$ref: '#/components/schemas/InstallerType'
Scope:
$ref: '#/components/schemas/Scope'
SignatureSha256:
$ref: '#/components/schemas/SignatureSha256'
InstallModes:
$ref: '#/components/schemas/InstallModes'
InstallerSwitches:
$ref: '#/components/schemas/InstallerSwitches'
InstallerSuccessCodes:
$ref: '#/components/schemas/InstallerSuccessCodes'
ExpectedReturnCodes:
$ref: '#/components/schemas/ExpectedReturnCodes'
UpgradeBehavior:
$ref: '#/components/schemas/UpgradeBehavior'
Commands:
$ref: '#/components/schemas/Commands'
Protocols:
$ref: '#/components/schemas/Protocols'
FileExtensions:
$ref: '#/components/schemas/FileExtensions'
Dependencies:
$ref: '#/components/schemas/Dependencies'
PackageFamilyName:
$ref: '#/components/schemas/PackageFamilyName'
ProductCode:
$ref: '#/components/schemas/ProductCode'
Capabilities:
$ref: '#/components/schemas/Capabilities'
RestrictedCapabilities:
$ref: '#/components/schemas/RestrictedCapabilities'
MSStoreProductIdentifier:
$ref: '#/components/schemas/MSStoreProductIdentifier'
InstallerAbortsTerminal:
$ref: '#/components/schemas/InstallerAbortsTerminal'
ReleaseDate:
$ref: '#/components/schemas/ReleaseDate'
InstallLocationRequired:
$ref: '#/components/schemas/InstallLocationRequired'
RequireExplicitUpgrade:
$ref: '#/components/schemas/RequireExplicitUpgrade'
ElevationRequirement:
$ref: '#/components/schemas/ElevationRequirement'
UnsupportedOSArchitectures:
$ref: '#/components/schemas/UnsupportedOSArchitectures'
AppsAndFeaturesEntries:
$ref: '#/components/schemas/AppsAndFeaturesEntries'
Markets:
$ref: '#/components/schemas/Markets'
required:
- Architecture
- InstallerType
# Package Schema
PackageSchema:
description: Model containing Package Schema
allOf:
- type: object
properties:
PackageIdentifier:
$ref: '#/components/schemas/PackageIdentifier'
required:
- PackageIdentifier
# Version Schema
VersionSchema:
description: Model containing Version Schema
allOf:
- type: object
properties:
PackageVersion:
$ref: '#/components/schemas/PackageVersion'
- type: object
properties:
DefaultLocale:
$ref: '#/components/schemas/DefaultLocale'
- type: object
properties:
Channel:
$ref: '#/components/schemas/Channel'
required:
- PackageVersion
- DefaultLocale
# Locale Schema
LocaleSchema:
description: Model containing Locale Schema
allOf:
- type: object
properties:
PackageLocale:
$ref: '#/components/schemas/Locale'
- type: object
properties:
Publisher:
$ref: '#/components/schemas/Publisher'
- type: object
properties:
PublisherUrl:
description: The publisher home page
$ref: '#/components/schemas/Url'
- type: object
properties:
PublisherSupportUrl:
description: The publisher support page
$ref: '#/components/schemas/Url'
- type: object
properties:
PrivacyUrl:
description: The privacy page
$ref: '#/components/schemas/Url'
- type: object
properties:
Author:
$ref: '#/components/schemas/Author'
- type: object
properties:
PackageName:
$ref: '#/components/schemas/PackageName'
- type: object
properties:
PackageUrl:
description: The package home page
$ref: '#/components/schemas/Url'
- type: object
properties:
License:
$ref: '#/components/schemas/License'
- type: object
properties:
LicenseUrl:
description: The license page
$ref: '#/components/schemas/Url'
- type: object
properties:
Copyright:
$ref: '#/components/schemas/Copyright'
- type: object
properties:
CopyrightUrl:
description: The package copyright page
$ref: '#/components/schemas/Url'
- type: object
properties:
ShortDescription:
$ref: '#/components/schemas/ShortDescription'
- type: object
properties:
Description:
$ref: '#/components/schemas/Description'
- type: object
properties:
Tags:
$ref: '#/components/schemas/Tags'
- type: object
properties:
ReleaseNotes:
$ref: '#/components/schemas/ReleaseNotes'
- type: object
properties:
ReleaseNotesUrl:
description: The release notes page
$ref: '#/components/schemas/Url'
- type: object
properties:
Agreements:
$ref: '#/components/schemas/Agreements'
required:
- PackageLocale
DefaultLocale:
description: Model containing DefaultLocale Schema
allOf:
- $ref: '#/components/schemas/LocaleSchema'
- type: object
properties:
Moniker:
description: The most common package term. Can only be used in default locale.
$ref: '#/components/schemas/Tag'
required:
- Publisher
- PackageName
- License
- ShortDescription
OptionalLocale:
description: Model containing OptionalLocale Schema
allOf:
- $ref: '#/components/schemas/LocaleSchema'
# Installer Schema
InstallerSchema:
description: Model containing Installer Schema
allOf:
- $ref: '#/components/schemas/Installer'
#Manifest Schema
ManifestSchema:
description: Model containing Manifest Schema.
allOf:
- $ref: '#/components/schemas/PackageSchema'
- type: object
properties:
Versions:
type: array
items:
allOf:
- $ref: '#/components/schemas/VersionSchema'
- type: object
properties:
Locales:
type: array
items:
$ref: '#/components/schemas/OptionalLocale'
- type: object
properties:
Installers:
type: array
items:
$ref: '#/components/schemas/InstallerSchema'
# Manifest Search Version Response Schema
ManifestSearchVersionSchema:
description: Model containing version schema used by Manifest Search Response.
allOf:
- type: object
properties:
PackageVersion:
$ref: '#/components/schemas/PackageVersion'
- type: object
properties:
Channel:
$ref: '#/components/schemas/Channel'
- type: object
properties:
PackageFamilyNames:
type: array
items:
$ref: '#/components/schemas/PackageFamilyName'
- type: object
properties:
ProductCodes:
type: array
items:
$ref: '#/components/schemas/ProductCode'
required:
- PackageVersion
# Manifest Search Response Schema
ManifestSearchResponseSchema:
description: Model containing Manifest Search Response Schema.
allOf:
- $ref: '#/components/schemas/PackageSchema'
- type: object
properties:
PackageName:
$ref: '#/components/schemas/PackageName'
- type: object
properties:
Publisher:
$ref: '#/components/schemas/Publisher'
- type: object
properties:
Versions:
type: array
minItems: 1
items:
$ref: '#/components/schemas/ManifestSearchVersionSchema'
required:
- PackageName
- Publisher
#Server Schemas:
InformationSchema:
description: Server Information Schema.
allOf:
- type: object
properties:
SourceIdentifier:
$ref: '#/components/schemas/SourceIdentifier'
- type: object
properties:
SourceAgreements:
$ref: '#/components/schemas/SourceAgreements'
- type: object
properties:
ServerSupportedVersions:
$ref: '#/components/schemas/ServerSupportedVersions'
- type: object
properties:
UnsupportedPackageMatchFields:
$ref: '#/components/schemas/PackageMatchFieldArray'
- type: object
properties:
RequiredPackageMatchFields:
$ref: '#/components/schemas/PackageMatchFieldArray'
- type: object
properties:
UnsupportedQueryParameters:
$ref: '#/components/schemas/QueryParameterArray'
- type: object
properties:
RequiredQueryParameters:
$ref: '#/components/schemas/QueryParameterArray'
required:
- SourceIdentifier
- ServerSupportedVersions
# Response Object Schemas
ResponseObjectSchema:
description: Base API Response Object
properties:
Data:
oneOf:
- type: object
- type: array
ContinuationToken:
allOf:
- $ref: '#/components/schemas/ContinuationToken'
required:
- Data
PackageMultipleResponseSchema:
description: Package Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
type: array
items:
$ref: '#/components/schemas/PackageSchema'
PackageSingleResponseSchema:
description: Package Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
$ref: '#/components/schemas/PackageSchema'
VersionMultipleResponseSchema:
description: Version Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
type: array
items:
$ref: '#/components/schemas/VersionSchema'
VersionSingleResponseSchema:
description: Version Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
$ref: '#/components/schemas/VersionSchema'
LocaleMultipleResponseSchema:
description: Locale Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
type: array
items:
$ref: '#/components/schemas/OptionalLocale'
LocaleSingleResponseSchema:
description: Locale Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
$ref: '#/components/schemas/OptionalLocale'
InstallerMultipleResponseSchema:
description: Installer Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
type: array
items:
$ref: '#/components/schemas/InstallerSchema'
InstallerSingleResponseSchema:
description: Installer Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
$ref: '#/components/schemas/InstallerSchema'
ManifestMultipleResponseSchema:
description: Manifest Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
type: array
items:
$ref: '#/components/schemas/ManifestSchema'
ManifestSingleResponseSchema:
description: Manifest Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
nullable: true
allOf:
- $ref: '#/components/schemas/ManifestSchema'
UnsupportedQueryParameters:
$ref: '#/components/schemas/QueryParameterArray'
RequiredQueryParameters:
$ref: '#/components/schemas/QueryParameterArray'
InformationResponseSchema:
description: Manifest Response Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
$ref: '#/components/schemas/InformationSchema'
ManifestSearchResultSchema:
description: Package Search Result Schema
allOf:
- $ref: '#/components/schemas/ResponseObjectSchema'
- type: object
properties:
Data:
type: array
items:
$ref: '#/components/schemas/ManifestSearchResponseSchema'
RequiredPackageMatchFields:
$ref: '#/components/schemas/PackageMatchFieldArray'
UnsupportedPackageMatchFields:
$ref: '#/components/schemas/PackageMatchFieldArray'
# Manifest Search Request Match Type Schema
MatchType:
description: Model containing manifest request match type.
type: string
enum:
- Exact
- CaseInsensitive
- StartsWith
- Substring
- Wildcard
- Fuzzy
- FuzzySubstring
# Manifest Search Request Package Match Field Schema
PackageMatchField:
description: Model containing manifest request package match field schema.
type: string
enum:
- PackageIdentifier
- PackageName
- Moniker
- Command
- Tag
- PackageFamilyName
- ProductCode
- NormalizedPackageNameAndPublisher
- Market
KeyWord:
description: Search Keyword.
type: string
maxLength: 255
# Manifest Search Request Match Schema
SearchRequestMatch:
description: Model containing manifest request match schema.
allOf:
- type: object
properties:
KeyWord:
$ref: '#/components/schemas/KeyWord'
MatchType:
$ref: '#/components/schemas/MatchType'
# Manifest Search Request Package Match Filter Schema
SearchRequestPackageMatchFilterSchema:
description: Model containing manifest search request Package Match Filter schema.
properties:
PackageMatchField:
$ref: '#/components/schemas/PackageMatchField'
RequestMatch:
$ref: '#/components/schemas/SearchRequestMatch'
# Manifest Search Request Schema
ManifestSearchRequestSchema:
description: Model containing manifest search request schema.
properties:
MaximumResults:
type: integer
FetchAllManifests:
type: boolean
Query:
$ref: '#/components/schemas/SearchRequestMatch'
Inclusions:
type: array
items:
$ref: '#/components/schemas/SearchRequestInclusionAndFilterSchema'
Filters:
type: array
items:
$ref: '#/components/schemas/SearchRequestInclusionAndFilterSchema'
# Manifest Search Request Inclusion or Filters Schema
SearchRequestInclusionAndFilterSchema:
description: Model containing manifest search request Inclusion or filter schema.
allOf:
- $ref: '#/components/schemas/SearchRequestPackageMatchFilterSchema'
# Misc Schemas
Error:
description: A schema for a generic error.
properties:
ErrorCode:
type: integer
ErrorMessage:
type: string
required:
- ErrorCode
- ErrorMessage
Parameters
parameters:
APIVersion:
name: Version
in: header
description: This is the API Versions Parameter.
required: false
schema:
$ref: '#/components/schemas/APIVersion'
Windows-Package-Manager:
name: Windows-Package-Manager
in: header
description: This is the Windows-Package-Manager custom header.
required: false
schema:
$ref: '#/components/schemas/Windows-Package-Manager'
ContinuationToken:
name: ContinuationToken
in: header
description: This is a generic continuation token as a header parameter.
required: false
schema:
$ref: '#/components/schemas/ContinuationToken'
PackageIdentifier:
name: PackageIdentifier
in: path
description: This is the Package Identifier Parameter.
required: true
schema:
$ref: '#/components/schemas/PackageIdentifier'
PackageVersion:
name: PackageVersion
in: path
description: This is the Package Version Parameter.
required: true
schema:
$ref: '#/components/schemas/PackageVersion'
PackageLocale:
name: PackageLocale
in: path
description: This is the Package Locale Parameter.
required: true
schema:
$ref: '#/components/schemas/Locale'
InstallerIdentifier:
name: InstallerIdentifier
in: path
description: This is the Installer Key Parameter.
required: true
schema:
$ref: '#/components/schemas/InstallerIdentifier'
PackageVersionQuery:
name: Version
in: query
description: This is the version to filter on.
required: false
schema:
$ref: '#/components/schemas/PackageVersion'
example: 1.0.0
PackageChannelQuery:
name: Channel
in: query
description: This is the channel to filter on.
required: false
schema:
$ref: '#/components/schemas/Channel'
example: beta
PackageMarketQuery:
name: Market
in: query
description: This is the market to filter on.
required: false
schema:
$ref: '#/components/schemas/Market'
example: US
ContinuationTokenQuery:
name: ContinuationToken
in: query
description: This is a generic continuation token as a query parameter.
required: false
schema:
$ref: '#/components/schemas/ContinuationToken'
example: beta