api/readme.md
2023-11-03 20:22:26 +01:00

160 lines
4.9 KiB
Markdown

UUP dump API
------------
### Functions
#### fetchupd.php: `uupFetchUpd($arch, $ring, $flight, $build, $minor, $sku, $type, $cacheRequests);`
Fetches latest update information from Windows Update servers.
Parameters:
- `arch` - Architecture of build to find
- **Supported values:** `amd64`, `x86`, `arm64`, `all`
- `ring` - Channel to use when fetching information (Previously called Ring)
- **Supported values:** `Canary`, `Dev`, `Beta`, `ReleasePreview`, `Retail`
- **Supported Ring values :** `WIF`, `WIS`, `RP`
- `flight` - Content type to use when fetching information (Previously called Flight)
- **Supported values:** `Mainline`
- **Supported Flight values:** `Active`, `Skip`, `Current`
- **NOTE:** `Skip` is for `WIF` ring only. `Current` is for `RP` ring only.
- `build` - Build number to use when fetching information. Can also be used to provide optional fetch flags in `major.minor+flag1,flag2` format.
- **Supported values:** Any correctly formatted build (`major` or `major.minor`) from range of 9841 and `PHP_INT_MAX-1`.
- `minor` - Build minor to use when fetching information. Unused when build is formatted in `major.minor` format
- **Supported values:** >= 0 and <= PHP_INT_MAX-1
- `sku` - SKU number to use when fetching information
- **Supported values:** Any integer
- `type` - Release type to use when fetching information for Windows Core OS (WCOS), e.g. Windows 10X
- **Supported values:** `Production`, `Test`
- `cacheRequests` - Should request responses be cached? (optional)
- **Supported values:** 0 = Disable (default), 1 = Enable
#### get.php: `uupGetFiles($updateId, $usePack, $desiredEdition, $requestType);`
Fetches files from `updateId` update and parses to array.
Parameters:
- `updateId` - Update identifier
- **Supported values:** any update UUID
- `usePack` - Generate list of files for selected language
- **Supported values:** language name in xx-xx format
- `desiredEdition` - Generate list of files for selected edition
- **Supported values:** any update UUID
- **NOTE:** You need to specify `usePack` to get successful request
- `$requestType` - Type of request to the API (optional)
- **Supported values:**
- 0 = uncached request (default)
- 1 = use cache if available
- 2 = offline information retrieval
#### listeditions.php: `uupListEditions($lang, $updateId);`
Outputs list of supported editions for selected language and Update ID.
Parameters:
- `lang` - Generate list for selected language
- **Supported values:** language name in xx-xx format
- `updateId` - Update identifier (optional)
- **Supported values:** any update UUID
#### listid.php: `uupListIds($search, $sortByDate);`
Outputs list of updates in fileinfo database.
Parameters:
- `search` - Search query (optional)
- **Supported values:** any text
- `sortByDate` - Sort results by creation date (optional)
- **Supported values:** 0 = Disable, 1 = Enable
#### listlangs.php: `uupListLangs($updateId);`
Outputs list of languages supported for specified Update ID.
Parameters:
- `updateId` - Update identifier (optional)
- **Supported values:** any update UUID
- `returnInfo` - Should the full update inforation be returned with a list of languages
- **Supported values:** `true` or `false`
#### updateinfo.php: `uupUpdateInfo($updateId, $onlyInfo, $ignoreFiles);`
Outputs specified information of specified `updateId`.
Parameters:
- `updateId` - Update identifier
- **Supported values:** any update UUID
- `onlyInfo` - Key to output
- **Supported values:** any string
- `ignoreFiles` - Skips the `files` key in the output
- **Supported values:** `true` or `false`
#### shared/main.php: `uupApiVersion();`
Returns version of the API.
Parameters:
- None
#### shared/utils.php: `uupApiCheckUpdateId($updateId);`
Checks if the provided update ID is correctly formatted.
Parameters:
- `updateId` - update ID to check
- **Supported values:** Any string
#### shared/utils.php: `uupApiIsServer($skuId);`
Checks if the provided SKU ID is a Windows Sever SKU.
Parameters:
- `skuId` - SKU ID to check
- **Supported values:** Any integer
#### shared/utils.php: `uupApiBuildMajor($build);`
Returns a build major of the build number.
Parameters:
- `build` - Build number (for example 22621.1) to split
- **Supported values:** Any correctly formatted build number
### Error codes thrown by API
**fetchupd.php**
- UNKNOWN_ARCH
- UNKNOWN_RING
- UNKNOWN_FLIGHT
- UNKNOWN_COMBINATION
- ILLEGAL_BUILD
- ILLEGAL_MINOR
- NO_UPDATE_FOUND
- EMPTY_FILELIST
- WU_REQUEST_FAILED
**get.php**
- UNSUPPORTED_LANG
- UNSPECIFIED_LANG
- UNSUPPORTED_EDITION
- UNSUPPORTED_COMBINATION
- EMPTY_FILELIST
- MISSING_FILES
- NO_FILES
- XML_PARSE_ERROR
- WU_REQUEST_FAILED
**listeditions.php**
- UNSUPPORTED_LANG
**listid.php**
- NO_FILEINFO_DIR
- SEARCH_NO_RESULTS
**updateinfo.php**
- UPDATE_INFORMATION_NOT_EXISTS
- KEY_NOT_EXISTS